跳過到頁腳內容
使用 IRONXL

在 C# 中生成 Excel 文件

我們開發的應用程式會不斷地與 Excel 電子表格進行通信,以獲取用於評估和結果的數據。 能夠以 C# 程式設計方式產生 Excel 檔案真的很有幫助,這節省了我們開發的時間和精力。 在本教程中,我們將學習如何產生不同格式的 Excel 檔案、設定儲存格樣式以及使用高效的 C# 函數程式設計插入資料。

## C# Excel 文件產生器
  • 使用IronXL產生 Excel 文件
  • 使用 C# 產生 .XLSX 和 .XLS 格式的 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();
$vbLabelText   $csharpLabel

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

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

這將建立一個名為 wsWorkSheet,我們可以使用該 ws 將資料插入 Excel 檔案。


3. Generate XLSX File C

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

然後,我們將資料插入其中,以建立我們的 .xlsx 擴充檔。為此, IronXL提供了一個單元尋址系統,讓我們以程式設計方式將資料插入到特定的單元位址中。

// 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");
$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();
    }
}
$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);
$vbLabelText   $csharpLabel

這將創建一個新的 Excel 文件,其擴展名為 .xls。 請記住,在為 Excel 檔案命名時,必須在檔案名稱後面加上副檔名 .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();
    }
}
$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();
    }
}
$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();
    }
}
$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();
    }
}
$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();
    }
}
$vbLabelText   $csharpLabel

您可以閱讀更多關於如何以程式設計方式轉換 Excel 電子表格和檔案以便在 C# 專案中使用的資訊。

IronXL庫還提供了與 Excel 檔案互動的各種功能,例如儲存格資料格式設定合併儲存格插入數學函數,甚至管理圖表。


教程快速訪問

### IronXL生成器文檔

請閱讀完整文檔,以了解IronXL如何產生 C# 專案所需的所有 Excel 格式的文件。

IronXL生成器文檔
Documentation related to 教程快速訪問

常見問題解答

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

您可以使用 IronXL 在 C# 中生成 Excel 檔案。首先創建 WorkBook 和 WorkSheet,使用 Cell Addressing System 插入資料,然後使用 IronXL 的方法將檔案存成所需格式。

程式化操控 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# 項目的各類資料處理需求很有幫助。

我如何安裝 IronXL 以便在 C# 中進行 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 格式。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担產品测测试,產品開發和研究的责任時,Jordi 為持续的產品改進增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me