使用 nuget 添加依赖库:Microsoft.Office.Interop.Excel
电脑要安装微软的Excel,由于是借助Excel的COM组件,所以打开文件要传绝对路径,以下是读取Excel的代码:
using System;
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;
namespace ExcelExample
{
internal class Example
{
public void ReadExcel(string path)
{
if (!File.Exists(path))
{
return;
}
var excel = new Excel.Application();
excel.Visible = false;//设置为True的话,会显示Excel应用的窗口
Excel.Workbook workbook = excel.Application.Workbooks.Open(path);
Excel.Worksheet sheet = null;
// 从1开始
for (int i = 1; i <= workbook.Worksheets.Count; i++)
{
sheet = workbook.Worksheets[i] as Excel.Worksheet;
//Console.WriteLine("sheet name: " + sheet.Name);
if (sheet.Name == "Sheet1")
{
break;
}
}
if (sheet == null) return;
Excel.Range range = sheet.UsedRange;//有效范围(有数据的单元格)
int rowCnt = range.Rows.Count;
Excel.Range cell;
//行号列号都是从1开始
Console.WriteLine("行数: " + rowCnt);
for (int row = 1; row <= rowCnt; row++)
{
Console.Write($"row {row} # ");
cell = (Excel.Range)sheet.Cells[row, 8];//8是列号,第一列是1
if (cell != null && cell.Value != null)
{
string value = cell.Value.ToString();
Console.Write(value);
}
Console.WriteLine();
}
excel.Quit();
}
}
}