.NET使用C#設(shè)置Excel單元格數(shù)值格式
設(shè)置Excel單元格的數(shù)字格式是創(chuàng)建、修改和格式化Excel文檔的關(guān)鍵步驟之一,它不僅確保了數(shù)據(jù)的正確表示,還能夠增強(qiáng)數(shù)據(jù)的可讀性和專業(yè)性。正確的數(shù)字格式可以幫助用戶更直觀地理解數(shù)值的意義,減少誤解,并且對(duì)于自動(dòng)化報(bào)告生成、財(cái)務(wù)計(jì)算等應(yīng)用場(chǎng)景來說,精確的格式控制也是保證數(shù)據(jù)準(zhǔn)確性和一致性的重要保障。在.NET平臺(tái)上,我們可以使用C#輕松完成Excel單元格的數(shù)字格式設(shè)置,實(shí)現(xiàn)自動(dòng)化處理。
本文將介紹如何使用C#在.NET程序中實(shí)現(xiàn)對(duì)Excel單元格數(shù)字格式的設(shè)置,幫助實(shí)現(xiàn)更完善的Excel文件處理。
本文所使用的方法需要用到免費(fèi)的Free Spire.XLS for .NET,NuGet:PM> Install-Package FreeSpire.XLS。
用C#設(shè)置Excel單元格的數(shù)字格式
Excel單元格數(shù)字格式的設(shè)置可以通過數(shù)字格式代碼來實(shí)現(xiàn)。使用CellRange.Value或CellRange.NumberValue屬性向單元格添加值之后,我們可以再使用CellRange.NumberFormat屬性通過格式代碼設(shè)置數(shù)值的顯示格式。格式代碼請(qǐng)參考:Excel單元格數(shù)字格式代碼。
以下是操作步驟示例:
- 導(dǎo)入所需模塊。
- 創(chuàng)建Workbook對(duì)象。
- 使用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)建一個(gè)新的工作簿實(shí)例
Workbook workbook = new Workbook();
// 獲取第一個(gè)工作表
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ù)字格式示例及對(duì)應(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é)計(jì)數(shù)法和百分比格式示例
AddNumberFormatExample(sheet, "B9", "C9", "0.00E+00", "1234.5678"); // 格式為科學(xué)計(jì)數(shù)法
AddNumberFormatExample(sheet, "B10", "C10", "0.00%", "0.5678"); // 格式為百分比
// 添加日期和時(shí)間格式示例
AddNumberFormatExample(sheet, "B11", "C11", "yyyy-MM-dd", "44930.0"); // Excel 日期值對(duì)應(yīng) 2023-01-01
AddNumberFormatExample(sheet, "B12", "C12", "HH:mm:ss", "0.75"); // Excel 時(shí)間值對(duì)應(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單元格
我們還可以直接使用庫(kù)中提供的CellRange類下的屬性,直接向單元格或單元格范圍添加指定類型的帶格式的值。以下是屬性及對(duì)應(yīng)添加的值:
| 屬性 | 值 |
|---|---|
| Text | 文本(string) |
| NumberValue | 數(shù)值(Double) |
| BooleanValue | 布爾值(Boolean) |
| DateTimeValue | 日期和時(shí)間(DateTime) |
| HtmlString | HTML格式字符代碼(string) |
以下是操作步驟示例:
- 導(dǎo)入所需模塊。
- 創(chuàng)建Workbook對(duì)象。
- 使用Workbook.Worksheets[]屬性獲取指定獲取工作表。
- 使用Worksheet.Range[]可獲取指定單元格。
- 使用CellRange類下的屬性向指定單元格添加指定類型的值。
- 根據(jù)需要設(shè)置格式。
- 使用Workbook.SaveToFile()方法保存工作簿,并釋放資源。
代碼示例
using System;
using Spire.Xls;
class Program
{
static void Main(string[] args)
{
// 創(chuàng)建一個(gè)新的工作簿實(shí)例
Workbook workbook = new Workbook();
// 獲取第一個(gè)工作表
Worksheet sheet = workbook.Worksheets[0];
// 添加文本值
sheet.Range["C3"].Text = "示例文本";
// 添加數(shù)值
sheet.Range["C4"].NumberValue = 1234.5678;
// 添加布爾值
sheet.Range["C5"].BooleanValue = true;
// 添加日期時(shí)間值
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;
// 自動(dòng)調(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Linq注意事項(xiàng)避免報(bào)錯(cuò)的方法
這篇文章主要介紹了使用Linq注意事項(xiàng)避免報(bào)錯(cuò)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
AjaxControlToolkit AjaxFileUpload 顯示英文改成中文的解決方法
AjaxControlToolkit AjaxFileUpload 顯示英文改成中文的解決方法,需要的朋友可以參考一下2013-03-03
C#調(diào)用HTTP POST請(qǐng)求上傳圖片的示例代碼
現(xiàn)在很多B/S系統(tǒng)的開發(fā)都是通過API方式來進(jìn)行的,一般服務(wù)端會(huì)開放一個(gè)API接口,客戶端調(diào)用API接口來實(shí)現(xiàn)圖片或文件上傳的功能,感興趣的可以了解一下2021-05-05
C#中File和FileStream的簡(jiǎn)單介紹和用法
這篇文章主要給大家介紹了關(guān)于C#中File和FileStream用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

