ExportExcelUtil.java 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.goafanti.common.utils;
  2. import org.apache.poi.ss.usermodel.HorizontalAlignment;
  3. import org.apache.poi.ss.util.CellRangeAddress;
  4. import org.apache.poi.xssf.usermodel.XSSFCell;
  5. import org.apache.poi.xssf.usermodel.XSSFCellStyle;
  6. import org.apache.poi.xssf.usermodel.XSSFFont;
  7. import org.apache.poi.xssf.usermodel.XSSFRow;
  8. import org.apache.poi.xssf.usermodel.XSSFSheet;
  9. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  10. public class ExportExcelUtil {
  11. //设置单元格格式
  12. public static XSSFCellStyle setCellStyle1(XSSFWorkbook workbook){
  13. // 设置字体
  14. XSSFFont font = workbook.createFont();
  15. // font.setColor(HSSFFont.COLOR_RED);
  16. font.setFontName("微软雅黑");
  17. font.setFontHeightInPoints((short) 24);//字体大小
  18. // 设置样式
  19. XSSFCellStyle cellStyle = workbook.createCellStyle();
  20. cellStyle.setFont(font); //字体
  21. // 设置单元格内容水平对其方式
  22. // XSSFCellStyle.ALIGN_CENTER 居中对齐
  23. // XSSFCellStyle.ALIGN_LEFT 左对齐
  24. // XSSFCellStyle.ALIGN_RIGHT 右对齐
  25. cellStyle.setAlignment(HorizontalAlignment.CENTER);
  26. //设置自动换行
  27. cellStyle.setWrapText(true);
  28. return cellStyle;
  29. }
  30. public static XSSFCellStyle setCellStyle2(XSSFWorkbook workbook){
  31. // 设置字体
  32. XSSFFont font = workbook.createFont();
  33. // font.setColor(HSSFFont.COLOR_RED);
  34. font.setFontName("微软雅黑");
  35. font.setFontHeightInPoints((short) 12);//字体大小
  36. // 设置样式
  37. XSSFCellStyle cellStyle = workbook.createCellStyle();
  38. cellStyle.setFont(font); //字体
  39. // 设置单元格内容水平对其方式
  40. // XSSFCellStyle.ALIGN_CENTER 居中对齐
  41. // XSSFCellStyle.ALIGN_LEFT 左对齐
  42. // XSSFCellStyle.ALIGN_RIGHT 右对齐
  43. cellStyle.setAlignment(HorizontalAlignment.CENTER);
  44. //设置自动换行
  45. cellStyle.setWrapText(true);
  46. return cellStyle;
  47. }
  48. public static XSSFWorkbook exportTemplateInfoS(String[] comment,String fileName){
  49. //map 数据 ,comment表头 (列名称)
  50. //1,创建一个workbook,对应的是一个excel文件
  51. XSSFWorkbook wb = new XSSFWorkbook();
  52. //遍历map
  53. XSSFSheet sheet = wb.createSheet(fileName);
  54. //3。创建一个row
  55. XSSFRow row = sheet.createRow(0);
  56. //4.创建一个cell
  57. XSSFCell cell = row.createCell(0);
  58. cell.setCellValue(fileName);
  59. XSSFCellStyle style1 = ExportExcelUtil.setCellStyle1(wb);//标题
  60. XSSFCellStyle style2 = ExportExcelUtil.setCellStyle2(wb);//正文
  61. cell.setCellStyle(style1);
  62. //合并列
  63. sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, comment.length-1));//合并单元格
  64. //设置其他单位格式
  65. //创建表头
  66. XSSFRow row2 = sheet.createRow(1);
  67. //设置换行
  68. for(int i = 0; i < comment.length; i++){
  69. if (i==0) {
  70. sheet.setColumnWidth(i, 1000);//设置列宽
  71. }else {
  72. sheet.setColumnWidth(i, 3000);//设置列宽
  73. }
  74. XSSFCell c = row2.createCell(i);
  75. c.setCellValue(comment[i]);
  76. c.setCellStyle(style2);
  77. }
  78. return wb;
  79. }
  80. }