如何在 Excel 中設定儲存格資料格式

如何在 C# 中使用 IronXL 設定儲存格資料格式

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL 允許透過設定 FormatString 屬性,在無需 Interop 依賴的情況下,對單一儲存格或範圍套用內建的資料格式(如貨幣、百分比、日期及自訂數字格式)來格式化 Excel 儲存格。

快速入門:在一行內將內建格式套用至單一儲存格

此範例展示如何使用 IronXL 的 API 建立新的 Excel 工作簿,並將內建格式套用至特定儲存格。 無需任何 Interop 依賴項——只需設定 FormatString 並儲存即可。

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronXL.Excel

    PM > Install-Package IronXL.Excel
  2. 請複製並執行此程式碼片段。

    IronXl.WorkBook book = IronXl.WorkBook.Create(); book.DefaultWorkSheet["B2"].FormatString = IronXl.Formatting.BuiltinFormats.Currency2;
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronXL

    arrow pointer


如何在 Excel 中設定儲存格資料格式?

可透過儲存格和範圍來存取 FormatString 屬性。 因此,可以針對個別儲存格、欄位、列以及任何選取的範圍設定資料格式。 這種靈活性使 IronXL 在您需要於 C# 中處理 Excel 檔案且無需使用 Interop 時,展現出特別強大的功能。

資料格式化對於在試算表中清晰呈現資訊至關重要。 無論是製作包含貨幣數值的財務報表、精確小數位的科學數據,還是基於日期的分析報告,正確的格式設定都能確保您的資料既易於閱讀又具 Professional 性。 IronXL 透過直觀的 API 提供對 Excel 格式化引擎的直接存取,從而簡化此流程。

:path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format.cs
using IronXL;
using IronXL.Formatting;
using System;
using System.Linq;

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Set the data format to 12300.00%
workSheet["A1"].Value = 123;
workSheet["A1"].FormatString = BuiltinFormats.Percent2;

// Set the data format to 123.0000
workSheet["A2"].Value = 123;
workSheet["A2"].FormatString = "0.0000";

// Set data display format to range
DateTime dateValue = new DateTime(2020, 1, 1, 12, 12, 12);
workSheet["A3"].Value = dateValue;
workSheet["A4"].Value = new DateTime(2022, 3, 3, 10, 10, 10);
workSheet["A5"].Value = new DateTime(2021, 2, 2, 11, 11, 11);

IronXL.Range range = workSheet["A3:A5"];

// Set the data format to 1/1/2020 12:12:12
range.FormatString = "MM/dd/yy h:mm:ss";

workBook.SaveAs("dataFormats.xlsx");
Imports IronXL
Imports IronXL.Formatting
Imports System
Imports System.Linq

' Create a new workbook
Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Set the data format to 12300.00%
Private workSheet("A1").Value = 123
Private workSheet("A1").FormatString = BuiltinFormats.Percent2

' Set the data format to 123.0000
Private workSheet("A2").Value = 123
Private workSheet("A2").FormatString = "0.0000"

' Set data display format to range
Private dateValue As New DateTime(2020, 1, 1, 12, 12, 12)
Private workSheet("A3").Value = dateValue
Private workSheet("A4").Value = New DateTime(2022, 3, 3, 10, 10, 10)
Private workSheet("A5").Value = New DateTime(2021, 2, 2, 11, 11, 11)

Private range As IronXL.Range = workSheet("A3:A5")

' Set the data format to 1/1/2020 12:12:12
range.FormatString = "MM/dd/yy h:mm:ss"

workBook.SaveAs("dataFormats.xlsx")
$vbLabelText   $csharpLabel
Excel 試算表展示格式化的儲存格:百分比、數字以及日期/時間值以不同顯示格式呈現

如何在不進行轉換的情況下將儲存格值設定為字串?

在 IronXL 中設定數值時,請使用 StringValue 取代 Value,以直接將精確數值賦予儲存格,避免自動轉換。 這就像在 Excel 中於儲存格值前加上一個單引號一樣。 此技術在處理產品代碼、電話號碼或其他應保留為純文字的資料時特別有用。 若需進行更進階的字串處理,請參閱如何在 .NET 中寫入 Excel 數值

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-stringvalue.cs
// Assign value as string
workSheet["A1"].StringValue = "4402-12";
' Assign value as string
workSheet("A1").StringValue = "4402-12"
$vbLabelText   $csharpLabel

如何在 IronXL 中使用內建格式?

IronXL程式庫提供多種預定義的格式字串,可透過 IronXl.Formatting.BuiltinFormats 類別存取,用於格式化 Excel 儲存格。 這讓您能夠自訂 Excel 試算表中資料的顯示方式。 這些內建格式涵蓋了最常見的商業情境,並與所有 Excel 版本相容。

在程式化建立試算表時,採用一致的格式設定對於維持文件整體的 Professional 標準至關重要。 BuiltinFormats 類別提供超過 30 種預先設定的格式範本,這些範本與 Excel 的標準格式選項相符。

:path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format-builtin-formats.cs
using IronXL;
using IronXL.Formatting;

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Use builtin formats
workSheet["A1"].Value = 123;
workSheet["A1"].FormatString = BuiltinFormats.Accounting0;

workBook.SaveAs("builtinDataFormats.xlsx");
Imports IronXL
Imports IronXL.Formatting

' Create a new workbook
Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Use builtin formats
Private workSheet("A1").Value = 123
Private workSheet("A1").FormatString = BuiltinFormats.Accounting0

workBook.SaveAs("builtinDataFormats.xlsx")
$vbLabelText   $csharpLabel

有哪些內建資料格式可用?

對於 Duration 類型,輸入值以天為單位表示。 例如,1 天等於 24 小時,而 1.05 天等於 25 小時 12 分鐘。 這在處理涉及工時追蹤或專案管理的 Excel 資料時特別有用。 以下是可用的格式類型:

Excel 試算表,展示內建數值格式,並包含各種資料類型的輸入值與格式化輸出結果

各格式類型有何功能?

  • General:預設格式,顯示未經特定格式設定的數字。
  • Duration1:以"mm:ss"格式顯示時間長度(分鐘和秒)。
  • Duration2:以"[h]:mm:ss"格式顯示時長(小時、分鐘、秒)。
  • Duration3:以"mm:ss.0"的形式顯示時間長度(分鐘、秒和毫秒)。
  • Accounting0:無小數點的會計格式,負數使用括號,例如 "#,##0_);(#,##0)"。
  • Accounting0Red:無小數點的會計格式,負數以紅色顯示,例如"#,##0_);Red."
  • Accounting2:帳務格式,小數點後保留兩位,負數需加括號,例如"#,##0.00;(#,##0.00)"。
  • Accounting2Red:保留兩位小數的會計格式,負數以紅色顯示,例如"#,##0.00_);Red."
  • Time1:12 小時制格式,包含 AM/PM,例如"h:mm AM/PM"。
  • Time2:12 小時制格式,包含秒數及上午/下午標示,例如"h:mm:ss AM/PM"。
  • Time3:採用不包含秒數的 24 小時格式,例如"h:mm"。
  • Time4:24 小時制格式,包含秒數,例如"h:mm:ss"。
  • ShortDate:簡短日期格式,例如"m/d/yy"。
  • ShortDateAndTime:簡短的日期與時間格式,例如"m/d/yy h:mm"。
  • LongDate1:包含月、日、年的長日期格式,例如"d-mmm-yy"。
  • LongDate2:包含日期且月份採用縮寫格式(如"d-mmm")的長日期格式。
  • LongDate3:長日期格式,月份與年份採用縮寫形式,例如"mmm-yy"。
  • Fraction1:如"# ?/?"這類僅含一位數的小數值。
  • Fraction2:如"# ??/??"這類具有兩位數的小數值。
  • Scientific1:帶有一個小數點的科學記法,例如"##0.0E+0."
  • Scientific2:採用保留兩位小數的科學記法,例如"0.00E+00"。
  • Percent:百分比應不帶小數,例如"0%"。
  • Percent2:百分比格式需保留兩位小數,例如"0.00%"。
  • Currency0:無小數點的貨幣格式,負數需使用括號,例如 "$#,##0_);($#,##0)"。
  • Currency0Red:不帶小數的貨幣數值,負數(如 "$#,##0_);Red.")以紅色顯示。
  • Currency2:保留兩位小數的貨幣格式,負數需使用括號,例如 "$#,##0.00;($#,##0.00)"。
  • Currency2Red:保留兩位小數的貨幣格式,負數(如 "$#,##0.00_);Red.")以紅色顯示。
  • Thousands0:數字需使用千位分隔符,且不包含小數,例如"#,##0."
  • Thousands2:數字需包含千位分隔號,並保留兩位小數,例如 "#,##0.00."
  • Number0:如"0."這類不含小數點的數字
  • Number2:如"0.00"這類小數點後兩位的數字
  • Text:類似"@."的純文字格式

Excel 中的資料格式設定與數字格式設定,用於控制數字、日期、時間及其他資料在儲存格中的顯示方式,藉此提升可讀性並確保資料準確性。 在資料格式方面,您可以將資訊呈現為特定格式,例如百分比或貨幣單位。 同樣地,數字格式可讓您自訂小數位數與顯示選項。

如何將多種格式套用至不同範圍?

在實際應用中,您通常需要對試算表的不同部分套用不同的格式。 此範例展示如何格式化包含多種資料類型的財務報告。此方法在從資料庫或其他資料來源使用 C# 匯出至 Excel 時特別有用:

using IronXL;
using IronXl.Formatting;
using System;

// Create a financial report with multiple formats
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Headers
workSheet["A1"].Value = "Financial Report Q4 2023";
workSheet["A1"].Style.Font.Bold = true;

// Revenue section with currency formatting
workSheet["A3"].Value = "Revenue";
workSheet["B3"].Value = 2500000;
workSheet["B3"].FormatString = BuiltinFormats.Currency0;

// Growth percentage
workSheet["A4"].Value = "YoY Growth";
workSheet["B4"].Value = 0.157;
workSheet["B4"].FormatString = BuiltinFormats.Percent2;

// Date formatting
workSheet["A6"].Value = "Report Date";
workSheet["B6"].Value = DateTime.Now;
workSheet["B6"].FormatString = BuiltinFormats.LongDate1;

// Apply accounting format to expense columns
IronXl.Range expenseRange = workSheet["B8:B12"];
expenseRange.FormatString = BuiltinFormats.Accounting2Red;

// Save the formatted report
workBook.SaveAs("FinancialReport_Q4_2023.xlsx");
using IronXL;
using IronXl.Formatting;
using System;

// Create a financial report with multiple formats
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Headers
workSheet["A1"].Value = "Financial Report Q4 2023";
workSheet["A1"].Style.Font.Bold = true;

// Revenue section with currency formatting
workSheet["A3"].Value = "Revenue";
workSheet["B3"].Value = 2500000;
workSheet["B3"].FormatString = BuiltinFormats.Currency0;

// Growth percentage
workSheet["A4"].Value = "YoY Growth";
workSheet["B4"].Value = 0.157;
workSheet["B4"].FormatString = BuiltinFormats.Percent2;

// Date formatting
workSheet["A6"].Value = "Report Date";
workSheet["B6"].Value = DateTime.Now;
workSheet["B6"].FormatString = BuiltinFormats.LongDate1;

// Apply accounting format to expense columns
IronXl.Range expenseRange = workSheet["B8:B12"];
expenseRange.FormatString = BuiltinFormats.Accounting2Red;

// Save the formatted report
workBook.SaveAs("FinancialReport_Q4_2023.xlsx");
Imports IronXL
Imports IronXl.Formatting
Imports System

' Create a financial report with multiple formats
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet

' Headers
workSheet("A1").Value = "Financial Report Q4 2023"
workSheet("A1").Style.Font.Bold = True

' Revenue section with currency formatting
workSheet("A3").Value = "Revenue"
workSheet("B3").Value = 2500000
workSheet("B3").FormatString = BuiltinFormats.Currency0

' Growth percentage
workSheet("A4").Value = "YoY Growth"
workSheet("B4").Value = 0.157
workSheet("B4").FormatString = BuiltinFormats.Percent2

' Date formatting
workSheet("A6").Value = "Report Date"
workSheet("B6").Value = DateTime.Now
workSheet("B6").FormatString = BuiltinFormats.LongDate1

' Apply accounting format to expense columns
Dim expenseRange As IronXl.Range = workSheet("B8:B12")
expenseRange.FormatString = BuiltinFormats.Accounting2Red

' Save the formatted report
workBook.SaveAs("FinancialReport_Q4_2023.xlsx")
$vbLabelText   $csharpLabel

此範例展示了如何結合不同格式類型來製作專業的財務文件。 若需更進階的格式設定選項(包含條件格式化),您可以進一步延伸這些概念。

在處理大型資料集或透過程式碼建立報告時,格式的一致性至關重要。 IronXL 的格式化系統能與數學函數公式編輯等其他功能無縫整合,讓您建立完全自動化的報表解決方案。

對於從 Office Interop 遷移而來或尋求更佳效能的開發人員而言,IronXL 的格式化系統提供了顯著優勢。 與傳統方法不同,您無需承受 COM 互通的額外負擔,即可高效格式化數千個儲存格。 若要進一步了解 Excel 自動化最佳實務,請參閱我們的完整 Excel 文件

常見問題

如何在不使用 Interop 的情況下,於 C# 中格式化 Excel 儲存格?

IronXL 提供了一種無需依賴 Interop 的簡易方式來格式化 Excel 儲存格。您可以透過儲存格或範圍的 FormatString 屬性,套用貨幣、百分比、日期及自訂數字格式等內建格式。只需使用 IronXL 建立或開啟工作簿,並將 FormatString 屬性設定為您所需的格式即可。

要將貨幣格式套用至儲存格,最快速的方法是什麼?

using IronXL,您只需一行程式碼即可套用貨幣格式。建立工作簿後,只需使用:book.DefaultWorkSheet["B2"].FormatString = IronXl.Formatting.BuiltinFormats.Currency2; 此程式碼將為 B2 儲存格套用內建的貨幣格式,並保留 2 位小數。

我可以一次格式化多個儲存格嗎?

是的,IronXL 允許您透過 FormatString 屬性,對單一儲存格、整列、整行或任何選取範圍進行格式設定。這種靈活性讓您能輕鬆地在 Excel 試算表的多個儲存格中套用一致的格式,而無需逐一遍歷每個儲存格。

如何在設定儲存格值時防止自動資料轉換?

IronXL 提供 StringValue 屬性,可將儲存格值設定為字串而不進行自動轉換。請改用 StringValue 取代 Value 屬性,以將精確的值賦予儲存格。此功能類似於在 Excel 中於儲存格值前加上單引號,對於產品代碼、電話號碼或其他應保持為文字的資料特別有用。

有哪些內建的格式選項可用?

IronXL 透過 IronXl.Formatting.BuiltinFormats 類別提供一套完整的預定義格式字串集合。這些格式包含各種貨幣格式、日期與時間格式、百分比顯示、科學記法以及自訂數字格式,讓您能夠自訂 Excel 試算表中的資料顯示方式。

我需要安裝 Microsoft Excel 才能使用儲存格格式設定功能嗎?

不,IronXL 可獨立運作,無需依賴 Microsoft Excel 或 Interop。此程式庫內建專屬格式化引擎,能直接處理 Excel 檔案,因此非常適合用於未安裝 Excel 的伺服器環境或系統。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
Nuget 下載 2,052,917 | 版本: 2026.6 just released
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronXL.Excel
執行範例 觀看您的資料變成試算表。