.NET使用C#設(shè)置Excel單元格數(shù)值格式
設(shè)置Excel單元格的數(shù)字格式是創(chuàng)建、修改和格式化Excel文檔的關(guān)鍵步驟之一,它不僅確保了數(shù)據(jù)的正確表示,還能夠增強數(shù)據(jù)的可讀性和專業(yè)性。正確的數(shù)字格式可以幫助用戶更直觀地理解數(shù)值的意義,減少誤解,并且對于自動化報告生成、財務(wù)計算等應(yīng)用場景來說,精確的格式控制也是保證數(shù)據(jù)準(zhǔn)確性和一致性的重要保障。在.NET平臺上,我們可以使用C#輕松完成Excel單元格的數(shù)字格式設(shè)置,實現(xiàn)自動化處理。
本文將介紹如何使用C#在.NET程序中實現(xiàn)對Excel單元格數(shù)字格式的設(shè)置,幫助實現(xiàn)更完善的Excel文件處理。
本文所使用的方法需要用到免費的Free Spire.XLS for .NET,NuGet:PM> Install-Package FreeSpire.XLS
。
用C#設(shè)置Excel單元格的數(shù)字格式
Excel單元格數(shù)字格式的設(shè)置可以通過數(shù)字格式代碼來實現(xiàn)。使用CellRange.Value或CellRange.NumberValue屬性向單元格添加值之后,我們可以再使用CellRange.NumberFormat屬性通過格式代碼設(shè)置數(shù)值的顯示格式。格式代碼請參考:Excel單元格數(shù)字格式代碼。
以下是操作步驟示例:
- 導(dǎo)入所需模塊。
- 創(chuàng)建Workbook對象。
- 使用Workbook.Worksheets[]屬性獲取指定獲取工作表。
- 使用Worksheet.Range[]可獲取指定單元格,然后可以使用CellRange.Value或CellRange.NumberValue屬性向指定單元格添加值。
- 使用CellRange.NumberFormat屬性通過格式代碼設(shè)置數(shù)值的顯示格式。
- 使用Workbook.SaveToFile()方法保存工作簿,并釋放資源。
代碼示例
using System.Drawing; using Spire.Xls; class Program { static void Main(string[] args) { // 創(chuàng)建一個新的工作簿實例 Workbook workbook = new Workbook(); // 獲取第一個工作表 Worksheet sheet = workbook.Worksheets[0]; // 添加標(biāo)題 sheet.Range["B1"].Text = "數(shù)字格式"; sheet.Range["B1"].Style.Font.IsBold = true; sheet.Range["B1"].Style.Font.FontName = "HarmonyOS Sans SC"; sheet.Range["B1:C1"].Merge(); sheet.Range["B1:C1"].Style.HorizontalAlignment = HorizontalAlignType.Center; // 添加數(shù)字格式示例及對應(yīng)的值 AddNumberFormatExample(sheet, "B3", "C3", "0", "1234.5678"); // 格式為整數(shù) AddNumberFormatExample(sheet, "B4", "C4", "0.00", "1234.5678"); // 格式為保留兩位小數(shù) AddNumberFormatExample(sheet, "B5", "C5", "#,##0.00", "1234.5678"); // 格式為帶千位分隔符且保留兩位小數(shù) AddNumberFormatExample(sheet, "B6", "C6", "$#,##0.00", "1234.5678"); // 格式為貨幣格式 // 添加負(fù)數(shù)格式示例 AddNumberFormatExample(sheet, "B7", "C7", "0;[Red]-0", "-1234.5678"); // 格式為負(fù)數(shù)用紅色顯示 AddNumberFormatExample(sheet, "B8", "C8", "0.00;[Red]-0.00", "-1234.5678"); // 格式為保留兩位小數(shù),負(fù)數(shù)用紅色顯示 // 添加科學(xué)計數(shù)法和百分比格式示例 AddNumberFormatExample(sheet, "B9", "C9", "0.00E+00", "1234.5678"); // 格式為科學(xué)計數(shù)法 AddNumberFormatExample(sheet, "B10", "C10", "0.00%", "0.5678"); // 格式為百分比 // 添加日期和時間格式示例 AddNumberFormatExample(sheet, "B11", "C11", "yyyy-MM-dd", "44930.0"); // Excel 日期值對應(yīng) 2023-01-01 AddNumberFormatExample(sheet, "B12", "C12", "HH:mm:ss", "0.75"); // Excel 時間值對應(yīng) 18:00:00 // 添加文本格式示例 AddNumberFormatExample(sheet, "B13", "C13", "@", "文本示例"); // 格式為文本 // 設(shè)置格式 sheet.Range["B3:B13"].Style.Color = Color.Gray; sheet.Range["C3:C13"].Style.Color = Color.LightGray; sheet.Columns[1].ColumnWidth = 24; sheet.Columns[2].ColumnWidth = 24; // 將工作簿保存到文件 workbook.SaveToFile("output/設(shè)置Excel單元格數(shù)字格式.xlsx", ExcelVersion.Version2016); } private static void AddNumberFormatExample(Worksheet sheet, string textCell, string valueCell, string format, string value) { sheet.Range[textCell].Text = format; // 顯示數(shù)字格式代碼 sheet.Range[valueCell].Value = value; // 添加值 // sheet.Range[valueCell].NumberValue = Double // 或添加數(shù)值 sheet.Range[valueCell].NumberFormat = format; // 應(yīng)用數(shù)字格式 } }
結(jié)果
用C#添加指定格式的值到Excel單元格
我們還可以直接使用庫中提供的CellRange類下的屬性,直接向單元格或單元格范圍添加指定類型的帶格式的值。以下是屬性及對應(yīng)添加的值:
屬性 | 值 |
---|---|
Text | 文本(string) |
NumberValue | 數(shù)值(Double) |
BooleanValue | 布爾值(Boolean) |
DateTimeValue | 日期和時間(DateTime) |
HtmlString | HTML格式字符代碼(string) |
以下是操作步驟示例:
- 導(dǎo)入所需模塊。
- 創(chuàng)建Workbook對象。
- 使用Workbook.Worksheets[]屬性獲取指定獲取工作表。
- 使用Worksheet.Range[]可獲取指定單元格。
- 使用CellRange類下的屬性向指定單元格添加指定類型的值。
- 根據(jù)需要設(shè)置格式。
- 使用Workbook.SaveToFile()方法保存工作簿,并釋放資源。
代碼示例
using System; using Spire.Xls; class Program { static void Main(string[] args) { // 創(chuàng)建一個新的工作簿實例 Workbook workbook = new Workbook(); // 獲取第一個工作表 Worksheet sheet = workbook.Worksheets[0]; // 添加文本值 sheet.Range["C3"].Text = "示例文本"; // 添加數(shù)值 sheet.Range["C4"].NumberValue = 1234.5678; // 添加布爾值 sheet.Range["C5"].BooleanValue = true; // 添加日期時間值 sheet.Range["C6"].DateTimeValue = new DateTime(2024, 12, 12); // 添加 HTML 字符串 sheet.Range["C7"].HtmlString = "<b>加粗文本</b>"; // 格式化單元格 sheet.Range["C3:C7"].Style.HorizontalAlignment = HorizontalAlignType.Center; sheet.Range["C3:C7"].Style.VerticalAlignment = VerticalAlignType.Center; sheet.Range["C3:C7"].Style.Font.Size = 14; // 自動調(diào)整列寬 for (int i = 3; i <= 7; i++) { sheet.AutoFitColumn(i - 1); // 注意:C#中列索引從0開始 } // 保存工作簿 workbook.SaveToFile("output/添加帶數(shù)字格式的值到Excel.xlsx", ExcelVersion.Version2016); // 清理資源 workbook.Dispose(); } }
結(jié)果
到此這篇關(guān)于.NET使用C#設(shè)置Excel單元格數(shù)值格式的文章就介紹到這了,更多相關(guān)C#設(shè)置Excel單元格數(shù)值格式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
AjaxControlToolkit AjaxFileUpload 顯示英文改成中文的解決方法
AjaxControlToolkit AjaxFileUpload 顯示英文改成中文的解決方法,需要的朋友可以參考一下2013-03-03C#調(diào)用HTTP POST請求上傳圖片的示例代碼
現(xiàn)在很多B/S系統(tǒng)的開發(fā)都是通過API方式來進(jìn)行的,一般服務(wù)端會開放一個API接口,客戶端調(diào)用API接口來實現(xiàn)圖片或文件上傳的功能,感興趣的可以了解一下2021-05-05