在 C# 中讀取 XLSX 檔案

Muhammad Maisam Abbas 2023年12月11日
  1. 使用 C# 中的 LinqToExcel 包讀取 XLSX 檔案
  2. 使用 C# 中的 ExcelDataReader 包讀取 XLSX 檔案
在 C# 中讀取 XLSX 檔案

本教程將討論在 C# 中讀取 Excel xlsx 檔案的方法。

使用 C# 中的 LinqToExcel 包讀取 XLSX 檔案

LinqToExcel 程式包用於通過 C# 中的 LINQ 查詢 Excel 檔案。它使從 C# 中的 Excel 檔案中獲取經過過濾的資料變得容易。LinqToExcel 軟體包是一個外部軟體包,需要首先安裝此方法才能起作用。我們可以通過在 NuGet 程式包管理器中搜尋 linqtoexcel,使用 NuGet 程式包管理器安裝此程式包。我們還需要為 LinqToExcel 軟體包安裝 Microsoft Access 資料庫引擎。最終安裝了 LinqToExcel 軟體包和 Microsoft Access 資料庫引擎時,我們可以讀取 xlsx 檔案。請參見以下程式碼示例。

using ExcelDataReader;
using System.IO;
using System.Linq;

namespace read_excel_file {
  class Program {
    static void Main(string[] args) {
      var excelFile = new LinqToExcel.ExcelQueryFactory(@"C:\File\Classes.xlsx");

      var result = from row in excelFile.Worksheet("Sheet1") let item =
          new {
            RollNumber = row["Roll Number"].Cast<string>(),
            Name = row["Name"].Cast<string>(),
            Class = row["Class"].Cast<string>(),
          }
          where item.Class == "5" select item;
    }
  }
}

在上面的程式碼中,我們使用 LINQ 來查詢檔案 C:\File\Classes.xlsx,並使用 C# 中的 LinqToExcel 包從 Sheet1 中獲取過濾後的內容。我們將查詢的結果值儲存在 result 變數中。

使用 C# 中的 ExcelDataReader 包讀取 XLSX 檔案

我們還可以使用 ExcelDataReader從 C# 中的 Excel 檔案中讀取資料。ExcelDataReader 程式包也是一個外部程式包,並且沒有預裝有 .NET 框架。我們需要安裝它才能使這種方法起作用。我們只需在 NuGet 軟體包管理器中搜尋 exceldatareader 即可安裝此軟體包。下面的程式碼示例向我們展示瞭如何使用 C# 中的 ExcelDataReader 包從 xlsx 檔案讀取資料。

using System.Data;
using System.IO;
using System.Linq;

namespace read_excel_file {
  class Program {
    static void Main(string[] args) {
      FileStream fStream = File.Open(@"C:\File\Classes.xlsx", FileMode.Open, FileAccess.Read);
      IExcelDataReader excelDataReader = ExcelReaderFactory.CreateOpenXmlReader(fStream);
      DataSet resultDataSet = excelDataReader.AsDataSet();
      excelDataReader.Close();
    }
  }
}

在上面的程式碼中,我們使用 C# 中的 ExcelDataReader 包讀取 C:\File\Classes.xlsx 檔案中的資料。我們將結果資料以表格的形式儲存在 resultDataSet 變數內。最後,我們使用 C# 中的 excelDataReader.Close() 函式釋放 excelDataReader 例項所擁有的資源。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相關文章 - Csharp Excel