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

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

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

IronXL允許您透過設置儲存格或範圍的FormatString屬性來使用內建的資料格式化,例如貨幣、百分比、日期以及自訂數字格式,而不需要依賴Interop。

快速入門:單行應用內建格式到單個儲存格

此範例顯示如何使用IronXL的API來建立新的Excel工作簿並將內建格式應用於特定儲存格。 不需要Interop依賴——只需設置FormatString並儲存。

  1. 使用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時特別強大。

資料格式化對於清晰地在試算表中呈現資訊至關重要。 無論是建立貨幣值的財務報告、精確小數位的科學資料,還是基於日期的分析,正確的格式化確保您的資料既可讀又專業。 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中設置值時,使用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版本相容。

以程式方式建立試算表時,應用一致的格式化對於維持文件的專業標準至關重要。 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小時制格式,包含秒和AM/PM,如"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時特別有用:

:path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format-5.cs
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 interop開銷的情況下高效地格式化數千個儲存格。 要瞭解有關Excel自動化的最佳實踐,請查看我們的Excel完整文件

常見問題

如何在C#中格式化Excel儲存格而不使用Interop?

IronXL提供了一種簡單的方法來格式化Excel儲存格而不依賴Interop。您可以在儲存格或範圍上使用FormatString屬性來應用內建格式,如貨幣、百分比、日期和自訂數字格式。只需使用IronXL建立或打開一個工作簿,然後設置FormatString屬性為您想要的格式。

將貨幣格式應用到儲存格的最快方法是什麼?

使用IronXL,您只需一行程式碼即可應用貨幣格式。在建立工作簿後,簡單使用:book.DefaultWorkSheet["B2"].FormatString = IronXL.Formatting.BuiltinFormats.Currency2; 這會將內建的貨幣格式(小數點後2位)應用於B2儲存格。

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

是的,IronXL允許您通過FormatString屬性格式化個別儲存格、整個欄、列或任何選擇的範圍。這種靈活性使得在不必逐一遍歷每個儲存格的情況下,能夠輕鬆地對Excel電子表格中的多個儲存格應用一致的格式。

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

IronXL提供了StringValue屬性,以字串的形式設置儲存格值,避免自動轉換。替代使用Value屬性,使用StringValue來賦予儲存格確切的值。這類似於在Excel中在儲存格值前加上撇號,特別適合用於產品程式碼、電話號碼或其他應保持文字格式的資料。

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

IronXL通過IronXl.Formatting.BuiltinFormats類別提供了豐富的預定義格式字串集合。這些格式包括各種貨幣格式、日期和時間格式、百分比顯示、科學記號以及自訂數字格式,允許您自訂Excel電子表格中資料的顯示方式。

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

不需要,IronXL獨立運行,不需要Microsoft Excel或Interop依賴。此程式庫包含其自身的格式化引擎,可直接操作Excel檔,非常適合於Excel未安裝的伺服器環境或系統中使用。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備好開始了嗎?
Nuget 下載 2,150,290 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

仍在滾動嗎?

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