使用IRONXL

在 C# 中生成 Excel 檔案

里根普恩
里根普恩
2020年10月6日
已更新 2023年12月20日
分享:

我們開發的應用程式不斷與 Excel 試算表進行通信,以取得數據進行評估和獲得結果。 能夠以 C# 程式化生成 Excel 文件對我們的開發來說非常有幫助,這節省了我們的時間和精力。 在本教程中,我們將學習如何生成不同格式的 Excel 文件、設置單元格樣式以及使用高效的 C# 編程函數插入數據。


第一步

1. 使用 IronXL 生成 Excel 文件

使用 IronXL Excel for C# 程式庫生成 Excel 文件,為您的項目提供一系列的函數用於生成和操作數據。 該庫在開發階段是免費的,當您準備好上線時可以購買許可證。要遵循這個教程,您可以下載 IronXL 來生成或通過 Visual Studio 和NuGet 畫廊訪問。

Install-Package IronXL.Excel

如何操作教程

2. C# Excel 文件生成器概述

在商業應用開發中,我們經常需要以程式方式生成各種類型的 Excel 文件。 為此,我們需要最簡單和最快捷的方法來生成各種類型的文件,並自動將它們保存到所需位置。

安裝 IronXL 後,我們可以使用這些功能來生成不同的 Excel 文件格式

  • 具有.xlsx副檔名的 Excel 檔案。
  • 具有.xls副檔名的 Excel 檔案。
  • 逗號分隔值(.csv)檔案。
  • 製表符分隔值(.tsv)文件。
  • JavaScript 物件表示法 (.json) 檔案。
  • 可擴展標記語言(.xml)文件。

    要生成任何類型的文件,首先我們需要創建一個 Excel WorkBook

//generate New WorkBook
WorkBook wb = WorkBook.Create();
//generate New WorkBook
WorkBook wb = WorkBook.Create();
'generate New WorkBook
Dim wb As WorkBook = WorkBook.Create()
$vbLabelText   $csharpLabel

上述程式碼將創建一個新的WorkBook wb,現在我們將創建一個WorkSheet對象。

//Generate New WorkSheet
WorkSheet ws = WorkBook.CreateWorkSheet("SheetName");
//Generate New WorkSheet
WorkSheet ws = WorkBook.CreateWorkSheet("SheetName");
'Generate New WorkSheet
Dim ws As WorkSheet = WorkBook.CreateWorkSheet("SheetName")
$vbLabelText   $csharpLabel

這將建立一個WorkSheet ws,我們可以用來在 Excel 文件中插入數據。


3. 生成 XLSX 文件 C

首先,我們按照上述步驟生成WorkBookWorkSheet

然後,我們在其中插入數據以創建.xlsx擴展名文件。為此,IronXL 提供了單元格尋址系統,使我們能夠以程式化方式在特定單元格地址中插入數據。

//Insert data by cell addressing
WorkSheet ["CellAddress"].Value = "MyValue";
//Insert data by cell addressing
WorkSheet ["CellAddress"].Value = "MyValue";
'Insert data by cell addressing
WorkSheet ("CellAddress").Value = "MyValue"
$vbLabelText   $csharpLabel

它將在特定的單元格地址中插入一個我們稱之為 "MyValue" 的新值。 同樣,我們可以將資料插入到我們需要的多個儲存格中。之後,我們將把 Excel 文件保存在指定的路徑中,如下所示:

//specify file path and name
WorkBook.SaveAs("Path + FileName.xlsx");
//specify file path and name
WorkBook.SaveAs("Path + FileName.xlsx");
'specify file path and name
WorkBook.SaveAs("Path + FileName.xlsx")
$vbLabelText   $csharpLabel

這將在指定的路徑中創建一個擴展名為.xlsx的新 Excel 文件。 儲存時,別忘了在檔名後加入副檔名.xlsx

若要進一步了解如何在 C# 專案中創建 Excel WorkBook,請查看此處的代碼範例。

/**
Generate XLSX File
anchor-generate-xlsx-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook of .xlsx Extension
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    //create workSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    ws ["C4"].Value = "IronXL";
    //save the file as .xlsx
    wb.SaveAs("sample.xlsx");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate XLSX File
anchor-generate-xlsx-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook of .xlsx Extension
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    //create workSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    ws ["C4"].Value = "IronXL";
    //save the file as .xlsx
    wb.SaveAs("sample.xlsx");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate XLSX File
'''anchor-generate-xlsx-file-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	'create new WorkBook of .xlsx Extension
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
	'create workSheet
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insert data in the cells of WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	ws ("C4").Value = "IronXL"
	'save the file as .xlsx
	wb.SaveAs("sample.xlsx")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

您可以在這裡查看新創建的 Excel 檔案 sample.xlsx 的截圖:

在 C# 中生成 Excel 文件,圖 1:修改後的 C4 格的結果

單元格C4中修改後的值的結果


4. 生成 XLS 文件 C

也可以使用 IronXL 生成.xls文件。 為此,我們將使用WorkBook.Create() 函數如下:

WorkBook.Create(ExcelFileFormat.XLS)
WorkBook.Create(ExcelFileFormat.XLS)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'WorkBook.Create(ExcelFileFormat.XLS)
$vbLabelText   $csharpLabel

這將創建一個新的 Excel 檔案,具有 .xls 副檔名。 請記住,在為 Excel 文件命名時,必須在文件名後加上擴展名.xls,如下:

WorkBook.SaveAs("Path + FileName.xls");
WorkBook.SaveAs("Path + FileName.xls");
WorkBook.SaveAs("Path + FileName.xls")
$vbLabelText   $csharpLabel

現在,我們來看看如何生成帶有.xls擴展名的Excel文件的示例:

/**
Generate XLS File
anchor-generate-xls-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook of .xls Extension 
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .xls
    wb.SaveAs("sample.xls");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate XLS File
anchor-generate-xls-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook of .xls Extension 
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .xls
    wb.SaveAs("sample.xls");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate XLS File
'''anchor-generate-xls-file-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	'create new WorkBook of .xls Extension 
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	'create WorkSheet
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insert data in the cells of WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	'save the file as .xls
	wb.SaveAs("sample.xls")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

5. 生成 CSV 文件 C

逗號分隔值(.csv)文件在各類型組織中保持數據方面也發揮著非常重要的作用。 所以,我們還需要學習如何生成.csv檔案並以程式方式插入數據。

我們可以使用與上述相同的過程,但在儲存時需要在檔案名稱中指定.csv 擴展名。 讓我們來看看如何在 C# 專案中建立 .csv 檔案的範例:

/**
Generate CSV File
anchor-generate-csv-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook  
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .csv
    wb.SaveAsCsv("sample.csv");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate CSV File
anchor-generate-csv-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook  
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .csv
    wb.SaveAsCsv("sample.csv");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate CSV File
'''anchor-generate-csv-file-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	'create new WorkBook  
	Dim wb As WorkBook = WorkBook.Create()
	'create WorkSheet
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insert data in the cells of WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	'save the file as .csv
	wb.SaveAsCsv("sample.csv")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

為了能夠更多地與 CSV 文件互動,您可以遵循本教程來讀取 .csv 文件


6. 生成 TSV 文件 C

有時候,我們需要生成製表符分隔值(.tsv)文件並以程式化的方式插入數據。

使用 IronXL,我們也可以生成.tsv延伸檔,將資料插入其中,然後保存到所需的位置。

讓我們來看看如何生成.tsv擴展文件的範例:

/**
Generate TSV File
anchor-generate-tsv-file-c-num
**/
using IronXL;
static void Main(string [] args)
{ 
    //create new WorkBook  
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .tsv
    wb.SaveAs("sample.tsv");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate TSV File
anchor-generate-tsv-file-c-num
**/
using IronXL;
static void Main(string [] args)
{ 
    //create new WorkBook  
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .tsv
    wb.SaveAs("sample.tsv");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate TSV File
'''anchor-generate-tsv-file-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	'create new WorkBook  
	Dim wb As WorkBook = WorkBook.Create()
	'create WorkSheet
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insert data in the cells of WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	'save the file as .tsv
	wb.SaveAs("sample.tsv")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

7. 生成 JSON 文件 C

我們可以放心地說,JavaScript Object Notation(.json)文件是最常見的數據文件,並且幾乎在所有軟體開發公司中使用。 因此,我們經常需要將資料儲存為 JSON 格式。 為此,我們需要最簡單的方法來生成 JSON 格式的文件並將數據插入其中。

在這種情況下,IronXL 是最佳選擇,我們可以輕鬆為 C# 生成這些文件。 讓我們看看這個例子。

/**
Generate JSON File
anchor-generate-json-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook 
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "1";
    ws ["A2"].Value = "john";
    ws ["B1"].Value = "2";
    ws ["B2"].Value = "alex";
    ws ["C1"].Value = "3";
    ws ["C2"].Value = "stokes";
    //save the file as .json
    wb.SaveAsJson("sample.json");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate JSON File
anchor-generate-json-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook 
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "1";
    ws ["A2"].Value = "john";
    ws ["B1"].Value = "2";
    ws ["B2"].Value = "alex";
    ws ["C1"].Value = "3";
    ws ["C2"].Value = "stokes";
    //save the file as .json
    wb.SaveAsJson("sample.json");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate JSON File
'''anchor-generate-json-file-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	'create new WorkBook 
	Dim wb As WorkBook = WorkBook.Create()
	'create WorkSheet
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insert data in the cells of WorkSheet
	ws ("A1").Value = "1"
	ws ("A2").Value = "john"
	ws ("B1").Value = "2"
	ws ("B2").Value = "alex"
	ws ("C1").Value = "3"
	ws ("C2").Value = "stokes"
	'save the file as .json
	wb.SaveAsJson("sample.json")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

並查看新創建的 JSON 文件 sample.json 的截圖:

在 C# 中生成 Excel 文件,圖 2:在 Visual Studio 中導航至 NuGet 套件管理器

在 Visual Studio 中導航至 NuGet 套件管理器


8. 生成 XML 文件 C#

在商業應用開發中,我們經常需要將資料保存為可擴展標記語言(.xml)檔案格式。 這很重要,因為.xml檔案數據是人類和機器都可讀的。

透過以下範例,我們將學習如何為 C# 生成.xml文件並以編程方式插入數據。

/**
Generate XML File
anchor-generate-xml-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook 
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .json
    wb.SaveAsXml("sample.xml");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate XML File
anchor-generate-xml-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook 
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .json
    wb.SaveAsXml("sample.xml");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate XML File
'''anchor-generate-xml-file-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	'create new WorkBook 
	Dim wb As WorkBook = WorkBook.Create()
	'create WorkSheet
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insert data in the cells of WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	'save the file as .json
	wb.SaveAsXml("sample.xml")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

您可以閱讀更多有關程式化轉換 Excel 試算表和文件以用於 C# 專案的資訊。

IronXL 程式庫還提供廣泛的功能來與 Excel 文件交互,例如單元格數據格式化合併單元格插入數學函數,甚至管理圖表。


快速指南

IronXL Generator 文件

請閱讀完整的文檔,了解 IronXL 如何在您的 C# 專案中生成各種 Excel 格式的文件。

IronXL Generator 文件
Documentation related to 快速指南
里根普恩
軟體工程師
Regan 畢業於雷丁大學,擁有電子工程學士學位。在加入 Iron Software 之前,他的工作角色讓他專注於單一任務;而他在 Iron Software 工作中最喜歡的是他所能承擔的工作範圍,無論是增加銷售價值、技術支持、產品開發或市場營銷。他喜歡了解開發人員如何使用 Iron Software 庫,並利用這些知識不斷改進文檔和開發產品。
< 上一頁
使用 C# 創建 CSV 文件
下一個 >
在 .NET Core 中使用 Excel