在C#中建立XLSX檔案
在商業自動化如此普遍的今天,我們經常需要在 .NET 應用程式中處理 Excel 試算表,包括創建試算表和程式化插入數據。 在下面的教程中,我們將學習如何使用C#程式設計來創建不同格式的Excel電子表格(.xls
、.xlsx
、.csv
和.tsv
)、設置儲存格樣式以及插入資料。
How to Create XLXL File in C#
安裝 Excel 函式庫以創建 XLSX 文件。
使用
Workbook
物件來建立 Excel 檔案。選擇預設的
Worksheet
。將資料新增至預設的
Worksheet
。- 將 Excel 檔案儲存到磁碟。
第一步
1. 下載 IronXL DLL
IronXL 提供在 C# 專案中建立 Excel (.xlsx
) 文件的最簡便方法。 下載 DLL 或 NuGet 安裝 並免費用於開發。
Install-Package IronXL.Excel
如何操作教程
2. 建立一個工作簿
使用這款軟體,我們可以插入數據並設置單元格屬性,如字體樣式或邊框。
2.1 創建 .XLSX 檔案
使用此程式碼建立 WorkBook 以製作新的 Excel 檔案,預設副檔名為 .xlsx
。
/** Create XLSX File anchor-create-a-workbook **/ WorkBook wb = WorkBook.Create();
/** Create XLSX File anchor-create-a-workbook **/ WorkBook wb = WorkBook.Create();
''' '''Create XLSX File '''anchor-create-a-workbook '''* Dim wb As WorkBook = WorkBook.Create()
2.2 創建 .XLS 文件
如果您想創建一個 .xls
擴展名的文件,請使用:
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
3. 創建 Excel 工作表
在選擇的文件格式中建立一個工作簿後,創建一個Excel工作表。 此程式碼將在工作簿wb
中創建一個名為sheet1
的新工作表ws1
。
WorkSheet ws1 = wb.CreateWorkSheet("sheet1");
WorkSheet ws1 = wb.CreateWorkSheet("sheet1");
Dim ws1 As WorkSheet = wb.CreateWorkSheet("sheet1")
3.1 建立多個工作表
可以以相同的方式創建多個工作表:
/** Create WorkSheets anchor-create-an-excel-worksheet **/ WorkSheet ws2 = wb.CreateWorkSheet("sheet2"); WorkSheet ws3 = wb.CreateWorkSheet("sheet3");
/** Create WorkSheets anchor-create-an-excel-worksheet **/ WorkSheet ws2 = wb.CreateWorkSheet("sheet2"); WorkSheet ws3 = wb.CreateWorkSheet("sheet3");
''' '''Create WorkSheets '''anchor-create-an-excel-worksheet '''* Dim ws2 As WorkSheet = wb.CreateWorkSheet("sheet2") Dim ws3 As WorkSheet = wb.CreateWorkSheet("sheet3")
4. 將數據插入工作表中
現在我們可以輕鬆地將數據插入到工作表單元格中。
worksheet ["CellAddress"].Value = "MyValue";
worksheet ["CellAddress"].Value = "MyValue";
worksheet ("CellAddress").Value = "MyValue"
4.1 將數據插入特定工作表
例如,可以特定插入工作表 ws1
中的數據。 以下代碼將在工作表ws1
的A1
單元格中寫入Hello World
。
/** Insert WorkSheet Data anchor-insert-data-into-worksheets **/ ws1 ["A1"].Value = "Hello World";
/** Insert WorkSheet Data anchor-insert-data-into-worksheets **/ ws1 ["A1"].Value = "Hello World";
''' '''Insert WorkSheet Data '''anchor-insert-data-into-worksheets '''* ws1 ("A1").Value = "Hello World"
4.2 將資料插入多個儲存格
也可以使用範圍函數將數據寫入許多單元格。 以下代碼將在工作表ws1
中把A3
到A8
的資料寫為NewValue
。
ws1 ["A3:A8"].Value = "NewValue";
ws1 ["A3:A8"].Value = "NewValue";
ws1 ("A3:A8").Value = "NewValue"
5. 建立範例專案
我們將創建一個新的 Excel 文件Sample.xlsx
並插入數據。
/** Sample Project anchor-make-a-sample-project **/ using IronXL; static void Main(string [] args) { WorkBook wb = WorkBook.Create(); WorkSheet ws1 = wb.CreateWorkSheet("sheet1"); ws1 ["A1"].Value = "Hello"; ws1 ["A2"].Value = "World"; ws1 ["B1:B8"].Value = "RangeValue"; wb.SaveAs("Sample.xlsx"); }
/** Sample Project anchor-make-a-sample-project **/ using IronXL; static void Main(string [] args) { WorkBook wb = WorkBook.Create(); WorkSheet ws1 = wb.CreateWorkSheet("sheet1"); ws1 ["A1"].Value = "Hello"; ws1 ["A2"].Value = "World"; ws1 ["B1:B8"].Value = "RangeValue"; wb.SaveAs("Sample.xlsx"); }
''' '''Sample Project '''anchor-make-a-sample-project '''* Imports IronXL Shared Sub Main(ByVal args() As String) Dim wb As WorkBook = WorkBook.Create() Dim ws1 As WorkSheet = wb.CreateWorkSheet("sheet1") ws1 ("A1").Value = "Hello" ws1 ("A2").Value = "World" ws1 ("B1:B8").Value = "RangeValue" wb.SaveAs("Sample.xlsx") End Sub
注意:默認情況下,新的 Excel 文件將創建在專案的 bin>Debug
資料夾中。 如果我們想在自訂路徑中建立新檔案,請使用:
wb.SaveAs(@"E:\IronXL\Sample.xlsx");
這是我們新建立的 Excel 檔案 sample.xlsx
的截圖:
很明顯,在你的 C# 應用程式中使用 IronXL 建立 Excel 文件是多麼簡單。
6. 設定Excel文件的ExcelMetadata
IronXL 也提供設置Excel文件的元數據功能。
/** Set Metadata anchor-set-metadata-for-excel-files **/ WorkBook wb = WorkBook.Create(); wb.Metadata.Author = "AuthorName"; wb.Metadata.Title="TitleValue";
/** Set Metadata anchor-set-metadata-for-excel-files **/ WorkBook wb = WorkBook.Create(); wb.Metadata.Author = "AuthorName"; wb.Metadata.Title="TitleValue";
''' '''Set Metadata '''anchor-set-metadata-for-excel-files '''* Dim wb As WorkBook = WorkBook.Create() wb.Metadata.Author = "AuthorName" wb.Metadata.Title="TitleValue"
7. 設定單元格樣式
在您的C#應用程式中設定Excel工作表的單元格樣式非常簡單。 IronXL 提供所有必要的單元格樣式屬性。
7.1. 設定字體樣式
字體樣式可以如下設置:
/** Set Font Style anchor-set-font-style **/ WorkSheet ["CellAddress"].Style.Font.Bold =true; WorkSheet ["CellAddress"].Style.Font.Italic =true;
/** Set Font Style anchor-set-font-style **/ WorkSheet ["CellAddress"].Style.Font.Bold =true; WorkSheet ["CellAddress"].Style.Font.Italic =true;
''' '''Set Font Style '''anchor-set-font-style '''* WorkSheet ("CellAddress").Style.Font.Bold =True WorkSheet ("CellAddress").Style.Font.Italic =True
7.2. 添加刪除線
對任何儲存格值進行刪除線的操作如下:
/** Add Strikeout anchor-add-strikeout **/ WorkSheet ["CellAddress"].Style.Font.Strikeout = true;
/** Add Strikeout anchor-add-strikeout **/ WorkSheet ["CellAddress"].Style.Font.Strikeout = true;
''' '''Add Strikeout '''anchor-add-strikeout '''* WorkSheet ("CellAddress").Style.Font.Strikeout = True
7.3. 設定邊框樣式
可以使用以下代碼進行邊框樣式設計:
/** Set Border Style anchor-set-border-style **/ WorkSheet ["CellAddress"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
/** Set Border Style anchor-set-border-style **/ WorkSheet ["CellAddress"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
''' '''Set Border Style '''anchor-set-border-style '''* WorkSheet ("CellAddress").Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted
8. 應用單元格樣式示例項目
讓我們看看如何使用下面的示例項目來設置多個單元格樣式並將其整合起來。
/** Sample Cell Styling Set anchor-apply-cell-styling-sample-project **/ using IronXL; static void Main(string [] args) { WorkBook wb = WorkBook.Create(); WorkSheet ws = wb.CreateWorkSheet("sheet1"); ws ["A1"].Value = "MyVal"; ws ["B2"].Value = "Hello World"; ws ["A1"].Style.Font.Strikeout = true; ws ["B2"].Style.Font.Bold =true; ws ["B2"].Style.Font.Italic =true; ws ["C3"].Style.TopBorder.Type = IronXL.Styles.BorderType.Double; ws ["C3"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted; ws ["C3"].Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick; ws ["C3"].Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot; ws ["C3"].Style.BottomBorder.SetColor("#ff6600"); ws ["C3"].Style.TopBorder.SetColor("#ff6600"); wb.SaveAs("Sample.xlsx"); }
/** Sample Cell Styling Set anchor-apply-cell-styling-sample-project **/ using IronXL; static void Main(string [] args) { WorkBook wb = WorkBook.Create(); WorkSheet ws = wb.CreateWorkSheet("sheet1"); ws ["A1"].Value = "MyVal"; ws ["B2"].Value = "Hello World"; ws ["A1"].Style.Font.Strikeout = true; ws ["B2"].Style.Font.Bold =true; ws ["B2"].Style.Font.Italic =true; ws ["C3"].Style.TopBorder.Type = IronXL.Styles.BorderType.Double; ws ["C3"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted; ws ["C3"].Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick; ws ["C3"].Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot; ws ["C3"].Style.BottomBorder.SetColor("#ff6600"); ws ["C3"].Style.TopBorder.SetColor("#ff6600"); wb.SaveAs("Sample.xlsx"); }
''' '''Sample Cell Styling Set '''anchor-apply-cell-styling-sample-project '''* Imports IronXL Shared Sub Main(ByVal args() As String) Dim wb As WorkBook = WorkBook.Create() Dim ws As WorkSheet = wb.CreateWorkSheet("sheet1") ws ("A1").Value = "MyVal" ws ("B2").Value = "Hello World" ws ("A1").Style.Font.Strikeout = True ws ("B2").Style.Font.Bold =True ws ("B2").Style.Font.Italic =True ws ("C3").Style.TopBorder.Type = IronXL.Styles.BorderType.Double ws ("C3").Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted ws ("C3").Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick ws ("C3").Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot ws ("C3").Style.BottomBorder.SetColor("#ff6600") ws ("C3").Style.TopBorder.SetColor("#ff6600") wb.SaveAs("Sample.xlsx") End Sub
這是我們新創建的 Excel 文件 sample.xlsx
的螢幕截圖。
9. 下一步和 Excel 教程
如果您想深入了解並閱讀 .NET Excel 建立的逐步指南,請查看使用 C# 創建 Excel 文件 教程。