更新於 2023/08/06閱讀時間約 4 分鐘

[C#] 讀取EXCEL

在專案中,使用NuGet套件管理員來安裝Microsoft.Office.Interop.Excel套件。這個套件將幫助我們與Excel進行互動。


匯入Microsoft.Office.Interop.Excel

using Excel = Microsoft.Office.Interop.Excel;

讀取Excel檔案

using System;

namespace ExcelReaderExample
{
class Program
{
static void Main(string[] args)
{
// 設定Excel檔案的路徑
string excelFilePath = @"C:\path\to\your\file.xlsx";

// 建立一個新的Excel Application物件
Excel.Application excelApp = new Excel.Application();

// 打開Excel檔案
Excel.Workbook workbook = excelApp.Workbooks.Open(excelFilePath);

// 假設Excel檔案只有一個工作表,直接使用索引1來取得該工作表
Excel.Worksheet worksheet = workbook.Worksheets[1];

// 讀取資料
int rowCount = worksheet.UsedRange.Rows.Count;
int colCount = worksheet.UsedRange.Columns.Count;

for (int row = 1; row <= rowCount; row++)
{
for (int col = 1; col <= colCount; col++)
{
// 使用Cells物件來取得單元格的值
Excel.Range cell = worksheet.Cells[row, col];
string cellValue = cell.Value != null ? cell.Value.ToString() : "";
Console.Write(cellValue + "\t");
}
Console.WriteLine();
}

// 關閉Excel檔案
workbook.Close();
excelApp.Quit();

// 釋放資源
System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);

Console.ReadLine();
}
}
}

這個範例中,我們使用Microsoft.Office.Interop.Excel套件來打開Excel檔案,讀取資料並輸出到控制台。記得要替換excelFilePath為你要讀取的實際Excel檔案的路徑。

請留意我們在最後的程式碼中釋放了COM物件的資源,這是很重要的一步。Excel物件是COM物件,如果未正確釋放資源,可能會導致資源洩漏或程式當機。因此,當不再使用這些COM物件時,務必確保呼叫Marshal.ReleaseComObject

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.