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.Xls Namespace 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 Class End Namespace
设置效果:
—END—