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—