如何使用IronXL在C#中設置儲存格的資料格式
IronXL允許您透過設置儲存格或範圍的FormatString屬性來使用內建的資料格式化,例如貨幣、百分比、日期以及自訂數字格式,而不需要依賴Interop。
快速入門:單行應用內建格式到單個儲存格
此範例顯示如何使用IronXL的API來建立新的Excel工作簿並將內建格式應用於特定儲存格。 不需要Interop依賴——只需設置FormatString並儲存。
最小化工作流程(5步)
- 下載C#程式庫以設置資料格式
- 打開現有的或建立新的Excel試算表
- 將儲存格、列、行或範圍的FormatString屬性設置為所需的資料格式
- 使用BuiltinFormats類別的內建資料格式
- 以各種文件型別匯出已編輯的試算表
如何在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")
如何在不轉換的情況下將儲存格設置為字串值?
在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"
如何在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")
有哪些內建的資料格式可用?
對於Duration型別,輸入值以天數表示。 例如,1天等於24小時,1.05天等於25小時12分鐘。 這在使用包含時間追蹤或專案管理的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")
此範例示範了如何將不同的格式型別結合起來建立專業的財務文件。 如需更高級的格式化選項,包括條件格式化,您可以進一步擴展這些概念。
當使用大型資料集或以編程方式建立報告時,一致的格式化變得至關重要。 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未安裝的伺服器環境或系統中使用。

