C# 中讀取和寫入 Excel 檔案的指南
使用 Iron Software 的 IronXL 軟體庫,在 C# 和其他 .NET 語言中讀取和建立 Excel (XLS、XLSX 和 CSV) 檔案非常容易。
IronXL 不需要在您的伺服器上安裝 Excel Interop。 IronXL 提供比Microsoft.Office.Interop.Excel更快、更直覺的 API。
IronXL 可在以下平台上運作:
- 適用於 Windows 和 Azure 的 .NET Framework 4.6.2 及更高版本
- 適用於 Windows、Linux、MacOS 和 Azure 的 .NET Core 2 及更高版本
- .NET 5、.NET 6、.NET 7、.NET 8、Mono、Maui 和 Xamarin
安裝 IronXL
Firstly install IronXL, using our NuGet package or by downloading the DLL. IronXL classes can be found in the IronXL namespace.
安裝 IronXL 最簡單的方法是使用 Visual Studio 的 NuGet 套件管理器: 軟體套件名稱為IronXL.Excel 。
Install-Package IronXL.Excel
讀取 Excel 文檔
使用 IronXL,只需幾行程式碼即可從 Excel 檔案中提取資料。
:path=/static-assets/excel/content-code-examples/get-started/get-started-1.csusing IronXL;
// Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();
// Select cells easily in Excel notation and return the calculated value, date, text or formula
int cellValue = workSheet["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in workSheet["A2:B10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}Imports IronXL
' Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("data.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets.First()
' Select cells easily in Excel notation and return the calculated value, date, text or formula
Private cellValue As Integer = workSheet("A2").IntValue
' Read from Ranges of cells elegantly.
For Each cell In workSheet("A2:B10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell建立新的Excel文檔
IronXL 提供了一個快速簡單的介面,可以使用 C# 或 VB.NET 產生 Excel 文件。
:path=/static-assets/excel/content-code-examples/get-started/get-started-2.csusing IronXL;
// Create new Excel WorkBook document.
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
workBook.Metadata.Author = "IronXL";
// Add a blank WorkSheet
WorkSheet workSheet = workBook.CreateWorkSheet("main_sheet");
// Add data and styles to the new worksheet
workSheet["A1"].Value = "Hello World";
workSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
// Save the excel file
workBook.SaveAs("NewExcelFile.xlsx");Imports IronXL
' Create new Excel WorkBook document.
Private workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
workBook.Metadata.Author = "IronXL"
' Add a blank WorkSheet
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("main_sheet")
' Add data and styles to the new worksheet
workSheet("A1").Value = "Hello World"
workSheet("A2").Style.BottomBorder.SetColor("#ff6600")
workSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
' Save the excel file
workBook.SaveAs("NewExcelFile.xlsx")匯出格式為 CSV、XLS、XLSX、JSON 或 XML
IronXL 還允許您將資料儲存或匯出為各種流行的結構化電子表格格式。
:path=/static-assets/excel/content-code-examples/get-started/get-started-3.cs// Export to many formats with fluent saving
workSheet.SaveAs("NewExcelFile.xls");
workSheet.SaveAs("NewExcelFile.xlsx");
workSheet.SaveAsCsv("NewExcelFile.csv");
workSheet.SaveAsJson("NewExcelFile.json");
workSheet.SaveAsXml("NewExcelFile.xml");' Export to many formats with fluent saving
workSheet.SaveAs("NewExcelFile.xls")
workSheet.SaveAs("NewExcelFile.xlsx")
workSheet.SaveAsCsv("NewExcelFile.csv")
workSheet.SaveAsJson("NewExcelFile.json")
workSheet.SaveAsXml("NewExcelFile.xml")設定單元格和區域的樣式
您可以使用 IronXL.Range.Style 物件對 Excel 儲存格和區域套用格式。
:path=/static-assets/excel/content-code-examples/get-started/get-started-4.cs// Set cell's value and styles
workSheet["A1"].Value = "Hello World";
workSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;' Set cell's value and styles
workSheet("A1").Value = "Hello World"
workSheet("A2").Style.BottomBorder.SetColor("#ff6600")
workSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double排序範圍
使用 IronXL,您可以利用 Range 物件輕鬆地對一系列 Excel 儲存格進行排序。
:path=/static-assets/excel/content-code-examples/get-started/get-started-5.csusing IronXL;
WorkBook workBook = WorkBook.Load("test.xls");
WorkSheet workSheet = workBook.WorkSheets.First();
// This is how we get range from Excel worksheet
Range range = workSheet["A2:A8"];
// Sort the range in the sheet
range.SortAscending();
workBook.Save();Imports IronXL
Private workBook As WorkBook = WorkBook.Load("test.xls")
Private workSheet As WorkSheet = workBook.WorkSheets.First()
' This is how we get range from Excel worksheet
Private range As Range = workSheet("A2:A8")
' Sort the range in the sheet
range.SortAscending()
workBook.Save()編輯公式
修改 Excel 公式就像賦值一個以"=""符號開頭的值一樣簡單。 公式將立即計算出來。
:path=/static-assets/excel/content-code-examples/get-started/get-started-6.cs// Set a formula
workSheet["A1"].Value = "=SUM(A2:A10)";
// Get the calculated value
decimal sum = workSheet["A1"].DecimalValue;' Set a formula
workSheet("A1").Value = "=SUM(A2:A10)"
' Get the calculated value
Dim sum As Decimal = workSheet("A1").DecimalValue為什麼選擇 IronXL?
IronXL 為 .NET 中的開發者提供了一個對 Excel 文件讀寫友善的 API。 它無需在伺服器上安裝 Microsoft Excel 或 Excel Interop 即可運作,使 Excel 文件處理快速、輕巧且無麻煩。
展望未來
若要了解更多功能和功能,我們建議您查看格式與 MSDN 文件類似的.NET API 參考文件。






