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

在创建或查看工作表时,你可能希望通过设置特定单元格的字体样式来突出显示其中的内容。例如,可以修改字体类型、字体颜色和字号,或将文本设置为加粗。本文将介绍如何使用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);
        }
    }
}

申请临时许可证

如果你希望去除生成文档中的评估提示,或解除功能限制,可以申请一份 30 天有效期的试用许可证。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容