IExportExcelService.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using NPOI.SS.UserModel;
  2. namespace YBEE.EQM.Application;
  3. /// <summary>
  4. /// EXCEL导出服务
  5. /// </summary>
  6. public interface IExportExcelService
  7. {
  8. /// <summary>
  9. /// 导出 Excel 文件
  10. /// </summary>
  11. /// <typeparam name="T"></typeparam>
  12. /// <param name="input"></param>
  13. /// <returns></returns>
  14. byte[] ExportExcel<T>(ExportExcelDto<T> input);
  15. /// <summary>
  16. /// 获取单元格表头和单元格样式
  17. /// </summary>
  18. /// <param name="wb"></param>
  19. /// <param name="fontSize"></param>
  20. /// <param name="titleFontSize"></param>
  21. /// <returns></returns>
  22. ExportExcelCellStyle GetCellStyle(IWorkbook wb, double fontSize = 10, double titleFontSize = 16);
  23. /// <summary>
  24. /// 添加单元格
  25. /// </summary>
  26. /// <param name="value"></param>
  27. /// <param name="row"></param>
  28. /// <param name="columnIndex"></param>
  29. /// <param name="cellStyle"></param>
  30. /// <param name="sheet"></param>
  31. /// <param name="width"></param>
  32. /// <param name="zeroToBlank">0转为空白</param>
  33. /// <param name="cellType"></param>
  34. ICell AddCell(object value, IRow row, int columnIndex, ICellStyle cellStyle, ISheet sheet = null, int? width = null, bool? zeroToBlank = false, CellType? cellType = null);
  35. #region 图表
  36. /// <summary>
  37. /// 导出柱状图
  38. /// </summary>
  39. /// <param name="sheet"></param>
  40. /// <param name="drawing"></param>
  41. /// <param name="anchor"></param>
  42. /// <param name="startDataRow"></param>
  43. /// <param name="endDataRow"></param>
  44. /// <param name="columnIndex"></param>
  45. /// <param name="title"></param>
  46. /// <param name="serieTitle"></param>
  47. /// <param name="catalogTitle"></param>
  48. /// <param name="valueTile"></param>
  49. void CreateBarChart(ISheet sheet, IDrawing drawing, IClientAnchor anchor, int startDataRow, int endDataRow, int columnIndex, string title = null, string serieTitle = null, string catalogTitle = null, string valueTile = null);
  50. #endregion
  51. }