在C#中建立XLSX檔案
在商業自動化如此普遍的今天,我們經常需要在 .NET 應用程式中處理 Excel 試算表,包括創建試算表和程式化插入數據。 在接下來的教程中,我們將學習如何以不同的格式創建 Excel 試算表。(.xls
、.xlsx
、.csv
和 .tsv
),設置單元格樣式,並使用 C# 編程插入數據。
如何在 C# 中創建 XLXL 文件
安裝 Excel 函式庫以創建 XLSX 文件。
使用
Workbook
物件來創建一個 Excel 檔案。選擇一個預設的
工作表
。將資料添加到預設的
Worksheet
。- 將 Excel 檔案儲存到磁碟。
第一步
1. 下載 IronXL DLL
IronXL提供了創建Excel的最簡單方法。(.xlsx
)C# 專案中的檔案。 下載 DLL或NuGet 安裝免費用於開發。
Install-Package IronXL.Excel
如何操作教程
2. 建立一個工作簿
使用這款軟體,我們可以插入數據並設置單元格屬性,如字體樣式或邊框。
2.1 創建 .XLSX 檔案
使用此代碼創建一個 WorkBook 以新建一個預設擴展名為 .xlsx
的 Excel 文件。
/**
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
單元格的NewValue
寫入到A8
單元格。
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 檔案教學。