許多 C# 開發者嘗試用 SQL 語句直接操作綁定的 Excel 文件進行增刪改查,但這條路走不通。Excel 本質不是關係型數據庫,缺乏標準的 SQL 引擎支持。業界最佳實踐是使用 NPOI 庫,它能純 .NET 方式讀寫 .xls/.xlsx 文件,無需安裝 Office,效能優異且部署簡單。
// 讀取 Excel
using (var fs = new FileStream("data.xlsx", FileMode.Open, FileAccess.Read))
{
var workbook = new XSSFWorkbook(fs);
var sheet = workbook.GetSheetAt(0);
foreach (var row in sheet)
{
var cellValue = row.GetCell(0)?.ToString();
Console.WriteLine(cellValue);
}
}
// 寫入 Excel
var workbook = new XSSFWorkbook();
var sheet = workbook.CreateSheet("Sheet1");
var row = sheet.CreateRow(0);
row.CreateCell(0).SetCellValue("Hello NPOI");
using (var fs = new FileStream("output.xlsx", FileMode.Create))
{
workbook.Write(fs);
}
更多教程請參考:NPOI 實戰指南