当前位置: 代码网 > it编程>编程语言>Asp.net > C#代码实现将字体应用到Excel单元格中

C#代码实现将字体应用到Excel单元格中

2026年02月05日 Asp.net 我要评论
在创建或查看工作表时,你可能希望通过设置特定单元格的字体样式来突出显示其中的内容。例如,可以修改字体类型、字体颜色和字号,或将文本设置为加粗。本文将介绍如何使用 spire.xls for .net

在创建或查看工作表时,你可能希望通过设置特定单元格的字体样式来突出显示其中的内容。例如,可以修改字体类型、字体颜色和字号,或将文本设置为加粗。本文将介绍如何使用 spire.xls for .net 为单个单元格或单元格区域应用字体样式。

安装 spire.xls for .net

首先,需要将 spire.xls for .net 程序包中的 dll 文件添加为 .net 项目的引用。你可以通过以下两种方式获取这些 dll 文件:

1.从官方链接直接下载

2.通过 nuget 安装

pm> install-package spire.xls

为不同单元格设置不同的字体样式

spire.xls 提供了 cellrange.style.font 属性,可用于方便地设置或修改单元格中的字体名称、颜色、大小以及样式。下面将介绍如何使用 spire.xls for .net 为指定单元格应用字体样式的具体示例代码。

示例代码如下:

using spire.xls;
using system.drawing;
 
namespace applysinglefontincellrange
{
    class program
    {
        static void main(string[] args)
        {
            // 创建一个 workbook 对象
            workbook workbook = new workbook();
 
            // 获取第一个工作表
            worksheet sheet = workbook.worksheets[0];
 
            // 设置字体名称
            int row = 1;
            sheet.range[row, 1].value = "字体名称";
            sheet.range[row, 2].value = "arial black";
            sheet.range[row, 2].style.font.fontname = "arial black";
 
            // 设置字体大小
            sheet.range[row += 2, 1].value = "字体大小";
            sheet.range[row, 2].value = "15";
            sheet.range[row, 2].style.font.size = 15;
 
            // 设置字体颜色
            sheet.range[row += 2, 1].value = "字体颜色";
            sheet.range[row, 2].value = "红色";
            sheet.range[row, 2].style.font.color = color.red;
 
            // 将文本设置为加粗
            sheet.range[row += 2, 1].value = "加粗";
            sheet.range[row, 2].value = "加粗";
            sheet.range[row, 2].style.font.isbold = true;
 
            // 将文本设置为斜体
            sheet.range[row += 2, 1].value = "斜体";
            sheet.range[row, 2].value = "斜体";
            sheet.range[row, 2].style.font.isitalic = true;
 
            // 为文本添加下划线
            sheet.range[row += 2, 1].value = "下划线";
            sheet.range[row, 2].value = "下划线";
            sheet.range[row, 2].style.font.underline = fontunderlinetype.single;
 
            // 为文本添加删除线
            sheet.range[row += 2, 1].value = "删除线";
            sheet.range[row, 2].value = "删除线";
            sheet.range[row, 2].style.font.isstrikethrough = true;
 
            // 自动调整列宽
            sheet.allocatedrange.autofitcolumns();
 
            // 将工作簿保存为 excel 文件
            workbook.savetofile("applysinglefontincell.xlsx", excelversion.version2016);
        }
    }
}

在单个单元格中应用多种字体样式

在同一个单元格中混合使用不同的字体样式,可以突出显示其中的特定字符或内容。

具体示例代码如下:

using spire.xls;
 
namespace applymultiplefontsinacell
{
    class program
    {
        static void main(string[] args)
        {
            // 创建 workbook 对象
            workbook workbook = new workbook();
 
            // 获取第一个工作表
            worksheet sheet = workbook.worksheets[0];
 
            // 创建第一个字体
            excelfont font1 = workbook.createfont();
            font1.fontname = "arial black";
            font1.knowncolor = excelcolors.lightblue;
            font1.isbold = true;
            font1.size = 13;
 
            // 创建第二个字体
            excelfont font2 = workbook.createfont();
            font2.knowncolor = excelcolors.red;
            font2.isbold = true;
            font2.isitalic = true;
            font2.fontname = "algerian";
            font2.size = 15;
 
            // 从指定单元格中获取 richtext 对象
            richtext richtext = sheet.range["a1"].richtext;
 
            // 设置 richtext 对象的文本内容
            richtext.text = "buy one, get one free";
 
            // 将第一个字体应用到指定字符范围
            richtext.setfont(0, 16, font1);
 
            // 将第二个字体应用到指定字符范围
            richtext.setfont(17, 21, font2);
 
            // 设置列宽
            sheet.columns[0].columnwidth = 33;
 
            // 将工作簿保存为 excel 文件
            workbook.savetofile("applymultiplefonts.xlsx", excelversion.version2016);
        }
    }
}

为单元格区域应用字体样式

spire.xls 提供了 cellstyle 类,用于统一管理单元格的格式设置,例如填充颜色、文本对齐方式以及字体样式。你可以先创建一个单元格样式,然后通过 cellrange.applystyle() 方法将其应用到指定的单元格区域,或使用 worksheet.applystyle() 方法将该样式应用到整个工作表。

具体示例代码如下:

using spire.xls;
using system.drawing;
 
namespace applyfonttocellrange
{
    class program
    {
        static void main(string[] args)
        {
            // 创建 workbook 对象
            workbook workbook = new workbook();
 
            // 加载示例 excel 文件
            workbook.loadfromfile(@"c:\users\administrator\desktop\sample.xlsx");
 
            // 获取第一个工作表
            worksheet sheet = workbook.worksheets[0];
 
            // 创建一个 cellstyle 对象
            cellstyle fontstyle = workbook.styles.add("headerfontstyle");
 
            // 设置字体颜色、大小和样式
            fontstyle.font.color = color.white;
            fontstyle.font.isbold = true;
            fontstyle.font.size = 12;
            fontstyle.horizontalalignment = horizontalaligntype.center;
 
            // 创建 cellstyleflag 对象,并将相关属性设置为 true
            cellstyleflag flag = new cellstyleflag();
            flag.fontcolor = true;
            flag.fontbold = true;
            flag.fontsize = true;
            flag.horizontalalignment = true;
 
            // 将样式应用到表头行
            sheet.range[1, 1, 1, 8].applystyle(fontstyle, flag);
 
            // 将样式应用到整个工作表
            // sheet.applystyle(fontstyle);
 
            // 将工作簿保存为新的 excel 文件
            workbook.savetofile("applyfonttocellrange.xlsx", excelversion.version2016);
        }
    }
}

到此这篇关于c#代码实现将字体应用到excel单元格中的文章就介绍到这了,更多相关c# excel单元格字体设置内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com