C# 操作 Excel 教學:從入門到精通

了解如何使用C#操作Excel檔案的詳細教學,包括基本操作、數據讀取與寫入、表格格式設定等實用技巧,適合初學者與進階使用者。

讓資訊整合更靈活

記錄、協作、成長 — Notion帶來比Excel更靈活的工作方式!
免費使用

200+模板自動化工作流程

從數據到成果,只需一步 — 用Monday代替Excel,效率倍增!
免費使用

AI智能團隊協作

AI驅動的ClickUp超越Excel,讓工作更精準快速!
免費使用

什麼是C#與Excel互動?

C# 是一種功能強大的程式語言,能夠輕鬆處理各種資料操作。如果你需要在應用程序中進行資料報告或者分析,Excel 是一個非常好用的工具。透過C#,你可以自動化處理Excel 文件,進行讀取和寫入等操作。

如何使用NuGet套件引用Excel Library

安裝EPPlus套件

EPPlus 是一個非常流行的Excel處理套件,支持讀取和寫入Excel 2007/2010/2013/2016檔案。

  1. 打開你的Visual Studio 專案
  2. 右鍵點擊你的專案,選擇 “Manage NuGet Packages”。
  3. 搜索 “EPPlus”,並點擊 “Install” 來安裝最新版本的套件。

建立與寫入Excel 文件

初始化ExcelPackage

首先,我們需要引用 EPPlus 命名空間:

using OfficeOpenXml;

接著,我們可以使用以下程式碼來建立新的 Excel 文件並寫入一些簡單的資料:


public void CreateExcelFile()
{
    ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
    using (ExcelPackage package = new ExcelPackage())
    {
        // 增加一個新工作表
        ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");

        // 在工作表中寫入資料
        worksheet.Cells[1, 1].Value = "Hello";
        worksheet.Cells[1, 2].Value = "World";

        // 儲存 Excel 文件
        FileInfo fi = new FileInfo(@"C:PathToYourFile.xlsx");
        package.SaveAs(fi);
    }
}

上面的程式碼會在指定位置創建一個新的 Excel 文件並寫入 “Hello World” 字符串。

讀取Excel 文件

開啟及讀取Excel文件中的資料

要從Excel 文件中讀取資料,請使用以下程式碼:


public void ReadExcelFile()
{
    FileInfo fi = new FileInfo(@"C:PathToYourFile.xlsx");
    using (ExcelPackage package = new ExcelPackage(fi))
    {
        ExcelWorksheet worksheet = package.Workbook.Worksheets[0];
        
        // 讀取單元格的值
        string value1 = worksheet.Cells[1, 1].Value.ToString();
        string value2 = worksheet.Cells[1, 2].Value.ToString();

        // 輸出讀取值
        Console.WriteLine(value1);
        Console.WriteLine(value2);
    }
}

上面的程式碼從指定路徑的Excel文件中讀取第一個工作表的第一行和第二行的資料並在控制台中輸出。

處理更複雜的Excel操作

格式化單元格

EPPlus也支持對單元格進行格式化操作,例如修改字體、顏色和邊框:


public void FormatCells()
{
    ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
    using (ExcelPackage package = new ExcelPackage())
    {
        ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");

        // 設定單元格的值
        worksheet.Cells[1, 1].Value = "Formatted";

        // 修改字體和顏色
        worksheet.Cells[1, 1].Style.Font.Bold = true;
        worksheet.Cells[1, 1].Style.Font.Color.SetColor(System.Drawing.Color.Red);
        worksheet.Cells[1, 1].Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin);

        // 儲存 Excel 文件
        FileInfo fi = new FileInfo(@"C:PathToYourFile.xlsx");
        package.SaveAs(fi);
    }
}

這段程式碼會在指定的單元格中設定文本,然後應用格式使其變為粗體、紅色並且有邊框。

處理多個工作表

如果你需要在一個Excel文件中處理多個工作表,可以這樣做:


public void CreateMultipleSheets()
{
    ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
    using (ExcelPackage package = new ExcelPackage())
    {
        // 增加多個工作表
        ExcelWorksheet worksheet1 = package.Workbook.Worksheets.Add("Sheet1");
        ExcelWorksheet worksheet2 = package.Workbook.Worksheets.Add("Sheet2");

        // 在工作表中寫入資料
        worksheet1.Cells[1, 1].Value = "Sheet1 Data";
        worksheet2.Cells[1, 1].Value = "Sheet2 Data";

        // 儲存 Excel 文件
        FileInfo fi = new FileInfo(@"C:PathToYourFile.xlsx");
        package.SaveAs(fi);
    }
}

這段程式碼會創建一個包含兩個工作表的Excel文件,並在每個工作表中寫入資料。

總結

使用C#與EPPlus套件,你可以輕鬆地創建、讀取和格式化Excel文件。這些功能在處理大量資料和生成報告時特別有用。希望這篇教學能幫助你更好地掌握C#與Excel的互動技巧。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *