示例#1
0
        /// <summary>
        ///     import dataTable to workbook first sheet
        /// </summary>
        /// <typeparam name="TEntity">TEntity</typeparam>
        /// <param name="workbook">workbook</param>
        /// <param name="dataTable">dataTable</param>
        /// <param name="sheetIndex">sheetIndex</param>
        /// <returns>the sheet LastRowNum</returns>
        public static int ImportData<TEntity>([NotNull] this IWorkbook workbook, [NotNull] DataTable dataTable,
            int sheetIndex)
        {
            if (sheetIndex >= InternalConstants.MaxSheetNum)
            {
                throw new ArgumentException(
                    string.Format(Resource.IndexOutOfRange, nameof(sheetIndex), InternalConstants.MaxSheetNum),
                    nameof(sheetIndex));
            }

            var configuration = InternalHelper.GetExcelConfigurationMapping<TEntity>();

            while (workbook.NumberOfSheets <= sheetIndex)
            {
                if (workbook.NumberOfSheets == sheetIndex)
                {
                    var sheetName = typeof(TEntity).Name;
                    if (configuration.SheetSettings.TryGetValue(sheetIndex, out var sheetSetting))
                    {
                        sheetName = sheetSetting.SheetName;
                    }
                    workbook.CreateSheet(sheetName);
                }
                else
                {
                    workbook.CreateSheet();
                }
            }

            var sheet = NpoiHelper.DataTableToSheet<TEntity>(workbook.GetSheetAt(sheetIndex), dataTable, sheetIndex);
            return sheet.LastRowNum;
        }
示例#2
0
 /// <summary>
 /// import dataTable to sheet
 /// </summary>
 /// <typeparam name="TEntity">EntityType</typeparam>
 /// <param name="sheet">sheet</param>
 /// <param name="dataTable">dataTable</param>
 /// <param name="sheetIndex">sheetIndex</param>
 public static ISheet ImportData<TEntity>([NotNull] this ISheet sheet, DataTable dataTable, int sheetIndex)
      => NpoiHelper.DataTableToSheet<TEntity>(sheet, dataTable, sheetIndex);