详解C#实现在Excel单元格中应用多种字体格式
作者:E-iceblue 发布时间:2023-01-25 07:58:52
标签:C#,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
设置效果:
来源:https://www.cnblogs.com/Yesi/p/16225002.html


猜你喜欢
- 1,在项目上鼠标右键 --> Open Module Settings2, Artifacts --> + --> JAR
- 本文实例讲述了C#实现将程序运行信息写入日志的方法。分享给大家供大家参考。具体如下:1.LogManager类class LogManage
- 今天遇到一个问题,原来用的好好的asp网页无法打开,同时inetinfo.exe的CPU占用率很高,几乎达到了100%。看了一下系统错误日志
- spring中实例化bean无效在做Struts2和Spring整合时遇到Spring实例化无效的情况,Action中代码如下public
- 仅做学习交流,如有侵犯联系必删。前言一篇酷狗app安卓逆向的文章,难度适中。样本: 酷狗app v10.8.8工具: jadx、Pixel3
- 1.C#是一种从C++和Java继承而来的,简单的,现代的,面向对象的语言.2.它的目标是综合Visual Basic高产和C++底层高效的
- 发现问题最近工作中利用JNA 调用 dll 库时保错,错误如下:///////////////// 通过 JNA 引入 DLL 库 ////
- 在maven的pom.xml里面添加一下依赖:<properties><project.build.sourceEncod
- 基本哪些属于引用类型类(object,string),接口、数组、委托引用类型分配在哪里引用类型变量位于线程栈。引用类型实例分配在托管堆上。
- 系统原来用的是BOSCH_BMA222的gsensor, 现在要求换成使用MMA7660,我们来看一下怎样增加驱动和调试过程。 1. 修改M
- 基本思想:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后
- 场景MyBaitsPlus3.x与2.x是不一样的。这里使用3.0.1版本。官方文档https://mp.baomidou.com/guid
- 一:背景1. 讲故事在前一篇大内存排查中,我们看到了Dictionary正在做扩容操作,当时这个字典的count=251w,你把字典玩的66
- 前言easyui是一种基于jQuery的用户界面插件集合。easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能。使用
- IntelliJ IDEA2022 springboot 热部署 html#pom.xml<dependency>
- 本文实例为大家分享了C++实现哈夫曼编码的具体代码,供大家参考,具体内容如下#include<iostream>#include
- 有的时候当我们使用popwindow时将当前的activity当做View传给其他fragment使用时会导致我们设置背景变暗效果失效,导致
- 过滤掉其他的播放器,使用我自己的播放器来做 wv.set
- Android 中启动自己另一个程序的activity如何实现可以使用action,举例: 1. 比如建立activity4,我
- 我们在SpringBoot和MyBatis整合的时候,需要在SpringBoot中通过注解方式配置事务回滚1 Pojo类package co