C#/VB.NET在Excel单元格中应用多种字体格式

博客 分享
0 174
张三
张三 2022-05-05 15:58:48
悬赏:0 积分 收藏

C#/VB.NET 在Excel单元格中应用多种字体格式

在Excel中,可对单元格中的字符串设置多种不同样式,通常只需要获取到单元格直接设置样式即可,该方法设置的样式会应用于该单元格中的所有字符。如果需要对单元格中某些字符设置样式,则可以参考本文中的方法。本文,将以C#及VB.NET代码为例,介绍如何在Excel同一个单元格中应用多种字体样式,包括字体加粗、倾斜、下划线、字号大小、字体颜色、上标、下标、字体等。在操作Excel单元格时,可参考使用本文方法。下面是具体方法和步骤。

【引用dll】

方法1

在程序中引入Spire.Xls.dll文件;将 Free Spire.XLS for .NET 下载到本地,解压,安装。安装完成后,找到安装路径下BIN文件夹中的Spire.Xls.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。

方法2

通过 NuGet 安装。可通过以下2种方法安装:

1.可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.XLS”,点击“安装”。等待程序安装完成。

  2.将以下内容复制到PM控制台安装。

Install-Package FreeSpire.XLS -Version 12.2.0


 

【在同一单元格应用多种字体样式】

C#

using Spire.Xls;namespace AddFormatsToTextInCell{    class Program    {        static void Main(string[] args)        {            //创建Workbook类的对象            Workbook wb = new Workbook();            //获取第一张工作表(新建的工作簿已默认包含3张worksheet工作表)            Worksheet sheet = wb.Worksheets[0];            //设置字体名称            ExcelFont fontname = wb.CreateFont();            fontname.FontName = "幼圆";                         //设置字体下标            ExcelFont fontSubscript = wb.CreateFont();            fontSubscript.IsSubscript = true;            //设置字体上标            ExcelFont fontsuperscript = wb.CreateFont();            fontsuperscript.IsSuperscript = true;            //设置加粗的字体样式            ExcelFont fontBold = wb.CreateFont();            fontBold.IsBold = true;            //设置下划线字体样式                      ExcelFont fontUnderline = wb.CreateFont();            fontUnderline.Underline = FontUnderlineType.Single;            //设置倾斜字体样式                       ExcelFont fontItalic = wb.CreateFont();            fontItalic.IsItalic = true;            //设置绿色字体样式                        ExcelFont fontColor = wb.CreateFont();            fontColor.KnownColor = ExcelColors.Rose;            //设置字体字号大小            ExcelFont fontsize = wb.CreateFont();            fontsize.Size = 15;                       //添加文本到A1单元格            RichText richText = sheet.Range["A1"].RichText;            richText.Text = "这段文字是测试文字,仅供测试时使用!C6B2幼圆体";            //给指定字符添加字体样式            richText.SetFont(0, 3, fontBold);            richText.SetFont(4,6,fontItalic);            richText.SetFont(7,9,fontUnderline);            richText.SetFont(10,13, fontColor);            richText.SetFont(14, 17,fontsize);                        richText.SetFont(19,19,fontSubscript);            richText.SetFont(21,21,fontsuperscript);            richText.SetFont(22, richText.Text.Length, fontname);            //设置列宽            sheet.Range["A1"].ColumnWidth = 50;            //保存文档            wb.SaveToFile("Result.xlsx",FileFormat.Version2013);        }    }}

vb.net

Imports Spire.XlsNamespace AddFormatsToTextInCell    Class Program        Private Shared Sub Main(args As String())            '创建Workbook类的对象            Dim wb As New Workbook()            '获取第一张工作表(新建的工作簿已默认包含3张worksheet工作表)            Dim sheet As Worksheet = wb.Worksheets(0)            '设置字体名称            Dim fontname As ExcelFont = wb.CreateFont()            fontname.FontName = "幼圆"            '设置字体下标            Dim fontSubscript As ExcelFont = wb.CreateFont()            fontSubscript.IsSubscript = True            '设置字体上标            Dim fontsuperscript As ExcelFont = wb.CreateFont()            fontsuperscript.IsSuperscript = True            '设置加粗的字体样式            Dim fontBold As ExcelFont = wb.CreateFont()            fontBold.IsBold = True            '设置下划线字体样式                      Dim fontUnderline As ExcelFont = wb.CreateFont()            fontUnderline.Underline = FontUnderlineType.[Single]            '设置倾斜字体样式                       Dim fontItalic As ExcelFont = wb.CreateFont()            fontItalic.IsItalic = True            '设置绿色字体样式                        Dim fontColor As ExcelFont = wb.CreateFont()            fontColor.KnownColor = ExcelColors.Rose            '设置字体字号大小            Dim fontsize As ExcelFont = wb.CreateFont()            fontsize.Size = 15            '添加文本到A1单元格            Dim richText As RichText = sheet.Range("A1").RichText            richText.Text = "这段文字是测试文字,仅供测试时使用!C6B2幼圆体"            '给指定字符添加字体样式            richText.SetFont(0, 3, fontBold)            richText.SetFont(4, 6, fontItalic)            richText.SetFont(7, 9, fontUnderline)            richText.SetFont(10, 13, fontColor)            richText.SetFont(14, 17, fontsize)            richText.SetFont(19, 19, fontSubscript)            richText.SetFont(21, 21, fontsuperscript)            richText.SetFont(22, richText.Text.Length, fontname)            '设置列宽            sheet.Range("A1").ColumnWidth = 50            '保存文档            wb.SaveToFile("Result.xlsx", FileFormat.Version2013)            System.Diagnostics.Process.Start("Result.xlsx")        End Sub    End ClassEnd Namespace

设置效果:

 

—END—

 

posted @ 2022-05-05 15:42 E-iceblue 阅读(10) 评论(0) 编辑 收藏 举报
回帖
    张三

    张三 (王者 段位)

    821 积分 (2)粉丝 (41)源码

     

    温馨提示

    亦奇源码

    最新会员