在 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
例項所擁有的資源。
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