Exemple #1
0
        /// <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);
        }
Exemple #2
0
 /// <summary>
 /// 获取工作表
 /// </summary>
 /// <param name="workbook">工作簿</param>
 /// <param name="sheetIndex">工作表索引</param>
 private ISheet GetSheet(NPOI.SS.UserModel.IWorkbook workbook, int sheetIndex = 0) => workbook.GetSheetAt(sheetIndex);