ExcelUtils.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package com.ruoyi.common.utils.poi;
  2. import org.apache.poi.hssf.usermodel.HSSFCellStyle;
  3. import org.apache.poi.hssf.usermodel.HSSFFont;
  4. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  5. import org.apache.poi.ss.usermodel.*;
  6. /**
  7. * @Author ZhaoQian La
  8. * @Date 2021/7/8 17:12
  9. * @Version 1.0
  10. */
  11. public class ExcelUtils {
  12. /**
  13. * 创建标题样式
  14. * @param wb
  15. * @return
  16. */
  17. public static HSSFCellStyle createTitleCellStyle(HSSFWorkbook wb){
  18. HSSFCellStyle cellStyle = wb.createCellStyle();
  19. //水平居中
  20. cellStyle.setAlignment(HorizontalAlignment.CENTER);
  21. //垂直对齐
  22. cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
  23. cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
  24. //背景颜色
  25. //cellStyle.setFillForegroundColor(IndexedColors.GREY_40_PERCENT.getIndex());
  26. HSSFFont headerFont1 = (HSSFFont) wb.createFont();
  27. //字体加粗
  28. headerFont1.setBold(true);
  29. //字体类型
  30. headerFont1.setFontName("黑体");
  31. //字体大小
  32. headerFont1.setFontHeightInPoints((short)15);
  33. cellStyle.setFont(headerFont1);
  34. return cellStyle;
  35. }
  36. /**
  37. * 创建表头样式
  38. * @param wb
  39. * @return
  40. */
  41. public static HSSFCellStyle createHeadCellStyle(HSSFWorkbook wb){
  42. HSSFCellStyle cellStyle = wb.createCellStyle();
  43. //设置自动换行
  44. cellStyle.setWrapText(false);
  45. //设置背景颜色
  46. //cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
  47. //水平居中
  48. cellStyle.setAlignment(HorizontalAlignment.CENTER);
  49. //垂直对齐
  50. cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
  51. cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
  52. cellStyle.setBottomBorderColor(IndexedColors.BLACK.index);
  53. //下边框
  54. cellStyle.setBorderBottom(BorderStyle.THIN);
  55. //左边框
  56. cellStyle.setBorderLeft(BorderStyle.THIN);
  57. //右边框
  58. cellStyle.setBorderRight(BorderStyle.THIN);
  59. //上边框
  60. cellStyle.setBorderTop(BorderStyle.THIN);
  61. //创建字体样式
  62. HSSFFont headerFont = (HSSFFont)wb.createFont();
  63. //字体加粗
  64. headerFont.setBold(true);
  65. //字体类型
  66. headerFont.setFontName("黑体");
  67. //字体大小
  68. headerFont.setFontHeightInPoints((short)12);
  69. //为标题样式添加字体样式
  70. cellStyle.setFont(headerFont);
  71. return cellStyle;
  72. }
  73. /**
  74. * 设置表格内容样式
  75. * @param wb
  76. * @return
  77. */
  78. public static HSSFCellStyle createContentCellStyle(HSSFWorkbook wb){
  79. HSSFCellStyle cellStyle = wb.createCellStyle();
  80. //水平居中
  81. cellStyle.setAlignment(HorizontalAlignment.CENTER);
  82. //垂直居中
  83. cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
  84. //设置自动换行
  85. cellStyle.setWrapText(true);
  86. //上边框
  87. cellStyle.setBorderTop(BorderStyle.THIN);
  88. //下边框
  89. cellStyle.setBorderBottom(BorderStyle.THIN);
  90. //左边框
  91. cellStyle.setBorderLeft(BorderStyle.THIN);
  92. //右边框
  93. cellStyle.setBorderRight(BorderStyle.THIN);
  94. //设置字体
  95. HSSFFont font = (HSSFFont)wb.createFont();
  96. font.setColor((short)8);
  97. font.setFontHeightInPoints((short)12);
  98. return cellStyle;
  99. }
  100. }