安装 NPOI
代码
public static DataTable ReadExcelToDataTable(string fileName, int sheetIndex)
{
DataTable dt = new DataTable();
using (FileStream file = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
IWorkbook workbook;
workbook = WorkbookFactory.Create(file);
ISheet sheet = workbook.GetSheetAt(0);
if (sheet == null)
{
return dt;
}
IRow headerRow = sheet.GetRow(sheetIndex);
if (headerRow == null)
{
return dt;
}
for (int j = 0; j < headerRow.LastCellNum; j++)
{
ICell cell = headerRow.GetCell(j);
dt.Columns.Add(cell.ToString());
}
for (int i = 1; i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
DataRow dataRow = dt.NewRow();
for (int j = row.FirstCellNum; j < headerRow.LastCellNum; j++)
{
if (row.GetCell(j) != null)
{
dataRow[j] = row.GetCell(j).ToString();
}
}
dt.Rows.Add(dataRow);
}
}
return dt;
}