在使用 Npoi.Mapper 时,需要传入 Sheet 的名字才能读取表格数据,经过一番研究,发现可以使用如下方法获取第一个 Sheet 的名字:
private string GetFirstSheetName(string excelFilelPath)
{
IWorkbook hssfwb;
using (FileStream fs = new FileStream(excelFilelPath, FileMode.Open, FileAccess.Read))
{
if (excelFilelPath.IndexOf(".xlsx") > 0) // 2007版本
hssfwb = new XSSFWorkbook(fs);
else // if (excelFilelPath.IndexOf(".xls") > 0) // 2003版本
hssfwb = new HSSFWorkbook(fs);
}
var firstSheet = hssfwb.GetAllNames().FirstOrDefault();
return firstSheet?.SheetName ?? "";
}