/// <summary> /// 构建工作表 /// </summary> /// <typeparam name="TTemplate">导入模板类型</typeparam> /// <param name="workbook">工作簿</param> /// <param name="innerWorkbook">内部工作簿</param> /// <param name="options">导入选项配置</param> private void BuildSheet <TTemplate>(IWorkbook workbook, NPOI.SS.UserModel.IWorkbook innerWorkbook, IImportOptions options) { var innerSheet = GetSheet(innerWorkbook, options.SheetIndex); //if (innerSheet.GetRow(0).PhysicalNumberOfCells > maxColumnLength) // throw new OfficeException($"导入数据初始化过多的无效列: {maxColumnLength}"); var sheet = workbook.CreateSheet(innerSheet.SheetName, options.HeaderRowIndex); HandleHeader(sheet, innerSheet, options.HeaderRowIndex); VerifyHeader <TTemplate>(sheet, options); HandleBody <TTemplate>(sheet, innerSheet, options); }
/// <summary> /// 获取工作表 /// </summary> /// <param name="workbook">工作簿</param> /// <param name="sheetIndex">工作表索引</param> private ISheet GetSheet(NPOI.SS.UserModel.IWorkbook workbook, int sheetIndex = 0) => workbook.GetSheetAt(sheetIndex);