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

Posted Tobemia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#/VB.NET 在Excel单元格中应用多种字体格式相关的知识,希望对你有一定的参考价值。

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


【引用dll】

方法1

在程序中引入Spire.Xls.dll文件;将​​FreeSpire.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 -Version12.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, Java 在Excel单元格中应用一种/多种字体样式

使用vb.net保护excel中的单元格

将多个数据放在一个单元格中 ASP.NET、VB.NET

C#/VB.NET 如何在 Excel 中添加水印

excel表格里面的字重叠或覆盖怎么解决

excel一个单元格,输入字太长怎么让它换行?