public DataTable ReadExcel(string filepath, Func <string, int, Type> callback) { using (FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read)) { XSSFWorkbook xssfworkbook = new XSSFWorkbook(fs); ISheet sheet = xssfworkbook.GetSheetAt(0); IRow header = sheet.GetRow(sheet.FirstRowNum); List <int> columns = new List <int>(); DataTable dt = new DataTable(); CalculateTool.ReadHeader(header, dt, columns, callback); CalculateTool.ReadBody(sheet, dt, columns); return(dt); } }
public override DataTable ReadExcel(string filepath) { if (string.IsNullOrEmpty(filepath)) { throw new ArgumentNullException(nameof(filepath)); } using (FileStream fs = new FileStream(_filepath, FileMode.Open, FileAccess.Read)) { IWorkbook workbook = WorkbookFactory.Create(fs); DataTable dt = new DataTable(); ISheet sheet = workbook.GetSheetAt(0); IRow header = sheet.GetRow(sheet.FirstRowNum); List <int> columns = new List <int>(); CalculateTool.ReadHeader(header, dt, columns); CalculateTool.ReadBody(sheet, dt, columns); return(dt); } }