在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对象库添加到项目中。