public static DataTable ExcelToDatatable(string filepath, bool flag = false, int startRow = 1)
{
Workbook workbook = null;
using (FileStream file = new FileStream(filepath, FileMode.Open, FileAccess.Read))
{
workbook = new Workbook(file);
}
var cells = workbook.Worksheets[0].Cells;
DataTable dt = new DataTable();
int rowIndex = 0;
if (flag)
{
rowIndex = startRow;
}
bool d = true;//防止表头重复加载
for (int i = rowIndex; i < cells.MaxDataRow + 1; i++)
{
if (!d && string.IsNullOrWhiteSpace(cells[i + 1, 0].StringValue.Trim()))
{
continue;
}
DataRow row = dt.NewRow();
for (int j = 0; j < cells.MaxDataColumn + 1; j++)
{
if (d)
{
dt.Columns.Add(cells[0, j].StringValue.Trim());
}
row[j] = cells[i + 1, j].StringValue.Trim();
}
dt.Rows.Add(row);
d = false;
}
return dt;
}