在C#中操作Excel文件并讀取數據,通常有兩種主要的方法:使用Microsoft Office Interop Excel或者使用第三方庫如EPPlus。以下是使用這兩種方法的簡要介紹:
using Excel = Microsoft.Office.Interop.Excel;
class Program
{
static void Main()
{
// 創建Excel Application對象
Excel.Application excelApp = new Excel.Application();
excelApp.Visible = true; // 設置Excel應用程序為可見
// 打開Excel文件
Excel.Workbook workbook = excelApp.Workbooks.Open("path_to_your_excel_file.xlsx");
// 獲取工作表
Excel.Worksheet worksheet = workbook.Sheets[1]; // 假設數據在第一個工作表中
// 讀取單元格數據
for (int row = 1; row <= worksheet.Cells.Rows.Count; row++)
{
for (int col = 1; col <= worksheet.Cells.Columns.Count; col++)
{
string cellValue = worksheet.Cells[row, col].Value2.ToString(); // 獲取單元格值
Console.Write(cellValue + "\t"); // 輸出單元格值
}
Console.WriteLine();
}
// 關閉工作簿并退出Excel應用程序
workbook.Close();
excelApp.Quit();
}
}
注意:使用Microsoft Office Interop Excel方法需要在安裝了Excel的計算機上運行,并且需要將Excel對象庫添加到項目中。
using OfficeOpenXml;
using System;
class Program
{
static void Main()
{
// 創建ExcelPackage對象
using (ExcelPackage excelPackage = new ExcelPackage())
{
// 加載Excel文件
excelPackage.Load("path_to_your_excel_file.xlsx");
// 獲取工作表
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[0]; // 假設數據在第一個工作表中
// 讀取單元格數據
for (int row = 1; row <= worksheet.Dimension.End.Row; row++)
{
for (int col = 1; col <= worksheet.Dimension.End.Column; col++)
{
string cellValue = worksheet.Cells[row, col].Value.ToString(); // 獲取單元格值
Console.Write(cellValue + "\t"); // 輸出單元格值
}
Console.WriteLine();
}
}
}
}
注意:使用EPPlus庫方法不需要在安裝了Excel的計算機上運行,并且不需要將Excel對象庫添加到項目中。