跳至頁尾內容
USING IRONXL

在 C# 中生成 Excel 文件

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

C# Excel 文件生成器

  • 使用IronXL生成Excel文件
  • 在.XLSX和.XLS格式中生成C# Excel文件
  • 生成CSV文件
  • 在C#專案中生成JSON、XML、TSV文件等
How To Work related to 在 C# 中生成 Excel 文件

步驟1

1. 使用IronXL生成Excel文件

使用IronXL Excel for C# 程式庫生成Excel文件,提供一系列用於生成和操作專案資料的功能。 該程式庫對於開發免費,當您準備部署時,提供授權。若要跟隨本教程,您可以下載用於生成的IronXL或通過Visual Studio和NuGet畫廊存取。


dotnet add package IronXL.Excel

操作教程

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

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

安裝IronXL後,我們可以使用這些函式來生成不同的Excel文件型別

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

為了生成任何型別的文件,首先我們需要建立一個Excel WorkBook

// Generate a new WorkBook
WorkBook wb = WorkBook.Create();
// Generate a new WorkBook
WorkBook wb = WorkBook.Create();
' Generate a new WorkBook
Dim wb As WorkBook = WorkBook.Create()
$vbLabelText   $csharpLabel

上述程式碼行將建立一個名為wb。 現在我們將建立一個WorkSheet 物件。

// Generate a new WorkSheet
WorkSheet ws = wb.CreateWorkSheet("SheetName");
// Generate a new WorkSheet
WorkSheet ws = wb.CreateWorkSheet("SheetName");
' Generate a new WorkSheet
Dim ws As WorkSheet = wb.CreateWorkSheet("SheetName")
$vbLabelText   $csharpLabel

這將建立一個名為ws,我們可以用來在Excel文件中插入資料。


3. Generate XLSX File C

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

然後,我們向其中插入資料以建立我們的.xlsx擴展文件。為此,IronXL提供了一個單元地址系統,允許我們以程式方式將資料插入特定的單元地址。

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

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

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

這將在指定路徑中建立一個帶有.xlsx擴展名的新Excel文件。 保存時不要忘記將文件名與擴展名.xlsx一起寫上。

要更深入探究如何在C#專案中建立Excel工作簿,請查看此處的程式碼範例。

/**
 * Generate XLSX File
 */
using System;
using IronXL;

class Program
{
    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
 */
using System;
using IronXL;

class Program
{
    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
''' 
Imports System
Imports IronXL

Friend Class Program
	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
End Class
$vbLabelText   $csharpLabel

您可以在這裡看到新建立的Excel文件sample.xlsx的截圖:

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


4. Generate XLS File C

使用IronXL同樣可以生成.xls文件。 為此,我們將使用WorkBook.Create()函式,如下所示:

// Create a workbook with XLS format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
// Create a workbook with XLS format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
' Create a workbook with XLS format
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
$vbLabelText   $csharpLabel

這將建立一個帶有.xls擴展名的新Excel文件。 請記住,為Excel文件分配名稱時,必須將.xls擴展名與文件名一起寫上,像這樣:

// Save the file as .xls
wb.SaveAs("Path + FileName.xls");
// Save the file as .xls
wb.SaveAs("Path + FileName.xls");
' Save the file as .xls
wb.SaveAs("Path + FileName.xls")
$vbLabelText   $csharpLabel

現在,讓我們看一下如何生成具有.xls擴展名的Excel文件的範例:

/**
 * Generate XLS File
 */
using System;
using IronXL;

class Program
{
    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
 */
using System;
using IronXL;

class Program
{
    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
''' 
Imports System
Imports IronXL

Friend Class Program
	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
End Class
$vbLabelText   $csharpLabel

5. Generate CSV File C

逗號分隔值(.csv)文件在不同型別的組織中保存資料也起著非常重要的作用。 因此,我們也需要學習如何生成.csv文件,並以程式方式將資料插入它們。

我們可以使用與上面相同的過程,但保存時需要指定.csv擴展名與文件名。 讓我們看一下如何在C#專案中建立.csv文件的範例:

/**
 * Generate CSV File
 */
using System;
using IronXL;

class Program
{
    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
 */
using System;
using IronXL;

class Program
{
    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
''' 
Imports System
Imports IronXL

Friend Class Program
	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
End Class
$vbLabelText   $csharpLabel

為了能夠更多地與CSV文件交互,您可以跟隨本教程來閱讀.csv文件


6. Generate TSV File C

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

使用IronXL,我們也可以生成.tsv擴展文件,將資料插入其中,然後將其保存到所需位置。

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

/**
 * Generate TSV File
 */
using System;
using IronXL;

class Program
{
    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.SaveAsTsv("sample.tsv");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
/**
 * Generate TSV File
 */
using System;
using IronXL;

class Program
{
    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.SaveAsTsv("sample.tsv");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
'''
''' * Generate TSV File
''' 
Imports System
Imports IronXL

Friend Class Program
	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.SaveAsTsv("sample.tsv")

		Console.WriteLine("Successfully created.")
		Console.ReadKey()
	End Sub
End Class
$vbLabelText   $csharpLabel

7. Generate JSON File C

我們可以舒適地說,JavaScript物件表示法(.json)文件是最常見的資料文件,幾乎所有的軟體開發公司都在使用。 因此,我們經常需要以JSON格式保存資料。 為此,我們需要最簡單的方法來生成JSON格式的文件並向其中插入資料。

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

/**
 * Generate JSON File
 */
using System;
using IronXL;

class Program
{
    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
 */
using System;
using IronXL;

class Program
{
    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
''' 
Imports System
Imports IronXL

Friend Class Program
	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
End Class
$vbLabelText   $csharpLabel

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

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


8. Generate XML File C

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

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

/**
 * Generate XML File
 */
using System;
using IronXL;

class Program
{
    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 .xml
        wb.SaveAsXml("sample.xml");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
/**
 * Generate XML File
 */
using System;
using IronXL;

class Program
{
    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 .xml
        wb.SaveAsXml("sample.xml");

        Console.WriteLine("Successfully created.");
        Console.ReadKey();
    }
}
'''
''' * Generate XML File
''' 
Imports System
Imports IronXL

Friend Class Program
	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 .xml
		wb.SaveAsXml("sample.xml")

		Console.WriteLine("Successfully created.")
		Console.ReadKey()
	End Sub
End Class
$vbLabelText   $csharpLabel

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

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


教程快速允許

IronXL 生成器文件

閱讀完整文件,了解IronXL如何生成您C#專案所需的每一種Excel格式的文件。

IronXL 生成器文件
Documentation related to 教程快速允許

常見問題

如何在C#中生成Excel檔案?

您可以使用IronXL在C#中生成Excel檔案。首先建立WorkBook和WorkSheet,使用單元格地址系統插入資料,然後使用IronXL的方法以所需格式保存檔案。

在C#中程式化操作Excel檔案的步驟是什麼?

要在C#中程式化操作Excel檔案,請通過NuGet套件管理器安裝IronXL,建立WorkBook和WorkSheet,使用C#程式碼插入並操作資料,並以您的偏好檔案格式保存更改。

如何使用C#將Excel檔案保存為JSON?

使用IronXL,您可以建立WorkBook和WorkSheet,新增必要資料,並使用SaveAsJson方法將檔案導出為JSON格式。

我可以使用C#將Excel檔案轉換為CSV嗎?

是的,IronXL允許您在C#中將Excel檔案轉換為CSV。您需要將Excel檔案載入到WorkBook中,按需處理,然後使用SaveAsCsv方法將其導出。

我可以使用C#將Excel資料導出到哪些格式?

使用IronXL,您可以將Excel資料導出到多種格式,如XLSX、CSV、TSV、JSON和XML。這種靈活性對於不同資料處理需求的C#專案很有幫助。

我如何在C#中安裝IronXL以進行Excel操作?

要在C#中安裝IronXL以進行Excel操作,請使用Visual Studio中的NuGet套件管理器,並執行命令dotnet add package IronXL.Excel

IronXL適用於涉及Excel檔案的商業應用嗎?

IronXL非常適用於商業應用,因為它簡化了程式化生成和操作Excel檔案的過程,使其對於自動化資料處理任務高效。

我可以在開發期間免費使用IronXL嗎?

IronXL在開發目的中是免費使用的。然而,當您準備部署或在生產環境中使用該程式庫時,需要授權。

如何在C#中生成Excel檔案時設置單元格格式?

使用IronXL時,您可以通過程式庫中提供的方法設置屬性,如字體大小、顏色和樣式,來格式化生成的Excel檔案中的單元格。

我可以在C#中從Excel資料生成XML檔案嗎?

是的,您可以使用IronXL從Excel資料生成XML檔案。在WorkBook和WorkSheet中準備好您的資料後,使用SaveAsXml方法將資料導出為XML格式。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話