private static void CreateTitle(IWorkbook workbook, ISheet sheet, ExcelTitle title, int startColumn, int endColumn) { ICell cell; IRow row; int titleRowCount = 0; if (title != null) { titleRowCount = title.RowCount; if (title.Text != null) { row = sheet.CreateRow(0); cell = row.CreateCell(0); if (title.Style == null) { title.Style = GetTitleStyle(workbook); } cell.CellStyle = title.Style; cell.SetCellValue(title.Text); sheet.AddMergedRegion(new CellRangeAddress(0, title.RowCount - 1, startColumn, endColumn)); } } }
/// <summary> /// 把列表导入Excel /// </summary> /// <typeparam name="T"></typeparam> /// <param name="workbook"></param> /// <param name="sheet"></param> /// <param name="collection"></param> /// <param name="columns"></param> /// <param name="title"></param> public static void ListToExcel <T>(IWorkbook workbook, ISheet sheet, List <T> collection, List <ExcelColumn> columns, ExcelTitle title = null) { ListToExcelProcess <T>(workbook, sheet, collection, columns, title); }
/// <summary> /// 把列表导入Excel /// </summary> /// <typeparam name="T"></typeparam> /// <param name="workbook"></param> /// <param name="sheet"></param> /// <param name="collection"></param> /// <param name="columns"></param> /// <param name="title"></param> public static void ListToExcelProcess <T>(IWorkbook workbook, ISheet sheet, List <T> collection, List <ExcelColumn> columns, ExcelTitle title = null) { int titleRowCount = 0; // 标题 if (title != null) { titleRowCount = title.RowCount; title.ColumnCount = (title.ColumnCount == 0 ? columns.Count : title.ColumnCount); CreateTitle(workbook, sheet, title, 0, title.ColumnCount - 1); } // 初始化表头 InitHead <T>(columns); // 表头 CreateHead(workbook, sheet, columns, titleRowCount); // 数据绑定 ListToExcelDataRow(workbook, sheet, collection, columns, titleRowCount + 1); }
/// <summary> /// 把列表导入Excel /// </summary> /// <typeparam name="T"></typeparam> /// <param name="workbook"></param> /// <param name="sheet"></param> /// <param name="collection"></param> /// <param name="columns"></param> /// <param name="title"></param> public static void AppendToExcel <T>(IWorkbook workbook, ISheet sheet, List <T> collection, List <ExcelColumn> columns, int startRow, ExcelTitle title = null) { AppendToExcelProcess <T>(workbook, sheet, collection, columns, startRow, title); }