详解C#实现在Excel单元格中应用多种字体格式

作者:E-iceblue 时间:2023-01-25 07:58:52 

在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

设置效果:

详解C#实现在Excel单元格中应用多种字体格式

来源:https://www.cnblogs.com/Yesi/p/16225002.html

标签:C#,Excel,字体格式
0
投稿

猜你喜欢

  • C#实现的XML操作类实例

    2022-04-04 12:17:37
  • C#中Dictionary<TKey,TValue>排序方式的实现

    2021-07-13 10:59:10
  • Java8通过Function获取字段名的步骤

    2022-07-14 14:06:23
  • Java实战入门之双色球彩票小游戏

    2023-05-12 04:07:13
  • Android自定义圆环倒计时控件

    2023-10-07 06:52:41
  • mybatis中insert主键ID获取和多参数传递的示例代码

    2023-09-20 07:11:00
  • springboot项目部署到宝塔的详细图文教程

    2023-03-27 05:24:31
  • IDEA java出现无效的源发行版14解决方案

    2021-06-25 08:50:33
  • Java字符串拼接详解

    2022-10-17 06:22:51
  • C#实现单例模式的6种方法小结

    2023-09-13 21:02:57
  • Spring Boot实现图片上传功能

    2023-05-17 05:06:05
  • Spring Boot插件spring tool suite安装及使用详解

    2021-12-15 03:29:23
  • 关于maven打包时的报错: Return code is: 501 , ReasonPhrase:HTTPS Required

    2022-09-09 00:50:51
  • Java源码解析之object类

    2023-11-05 00:46:28
  • android TabLayout使用方法详解

    2021-08-06 07:52:17
  • Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统

    2023-09-28 13:23:19
  • C#快速实现IList非泛型类接口的自定义类作为数据源

    2022-10-09 20:28:24
  • Java/Web调用Hadoop进行MapReduce示例代码

    2023-09-01 05:05:50
  • 利用Java读取二进制文件实例详解

    2023-07-27 03:25:42
  • C# Socket编程实现简单的局域网聊天器的示例代码

    2022-10-01 19:45:45
  • asp之家 软件编程 m.aspxhome.com