.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)用場景來說,精確的格式控制也是保證數(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單元格
我們還可以直接使用庫中提供的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)文章
C#實(shí)現(xiàn)合并多張圖片為GIF動(dòng)態(tài)圖
這篇文章主要為大家詳細(xì)介紹了C#如何將把一張又一張的圖片去拼合成一張GIF動(dòng)態(tài)圖片,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-12-12
C#?WPF?內(nèi)置解碼器實(shí)現(xiàn)?GIF?動(dòng)圖控件的方法
本文給大家介紹C# WPF內(nèi)置解碼器實(shí)現(xiàn)GIF動(dòng)圖控件的方法,文章對(duì)比了WPF與WinForm顯示動(dòng)態(tài)GIF的差異,列舉了MediaElement、嵌入PictureBox、WpfAnimatedGif等解決方案,感興趣的朋友跟隨小編一起看看吧2025-08-08
C#借助Spire.XLS for .NET實(shí)現(xiàn)在Excel中添加文檔屬性
在日常的數(shù)據(jù)處理和項(xiàng)目管理中,Excel文檔扮演著舉足輕重的角色,本文將深入探討如何在C#中借助強(qiáng)大的第三方庫Spire.XLS for .NET,實(shí)現(xiàn)對(duì)Excel文檔屬性的程序化添加和修改,感興趣的小伙伴可以了解下2025-12-12
Unity實(shí)現(xiàn)識(shí)別圖像中主體及其位置
EasyDL基于飛槳開源深度學(xué)習(xí)平臺(tái),面向企業(yè)AI應(yīng)用開發(fā)者提供零門檻AI開發(fā)平臺(tái),實(shí)現(xiàn)零算法基礎(chǔ)定制高精度AI模型。本文將利用Unity和EasyDL實(shí)現(xiàn)識(shí)別圖像中主體及其位置,感興趣的可以了解一下2022-02-02
C#爬取動(dòng)態(tài)網(wǎng)頁上信息得流程步驟
動(dòng)態(tài)內(nèi)容網(wǎng)站使用 JavaScript 腳本動(dòng)態(tài)檢索和渲染數(shù)據(jù),爬取信息時(shí)需要模擬瀏覽器行為,否則獲取到的源碼基本是空的,這篇文章主要給大家詳細(xì)介紹了C#爬取動(dòng)態(tài)網(wǎng)頁上信息得流程步驟,需要的朋友可以參考下2024-10-10

