|  |  | 
 |  |  |  | 
 |  |  | import com.doumee.core.constants.ResponseStatus; | 
 |  |  | import com.doumee.core.exception.BusinessException; | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import lombok.AllArgsConstructor; | 
 |  |  | import lombok.Data; | 
 |  |  | import org.apache.poi.ss.usermodel.*; | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * 配置单元格边框 | 
 |  |  |      */ | 
 |  |  |     private void configCellBorder (CellStyle style) { | 
 |  |  |     private static void configCellBorder(CellStyle style) { | 
 |  |  |         style.setBorderTop(BorderStyle.THIN); | 
 |  |  |         style.setBorderRight(BorderStyle.THIN); | 
 |  |  |         style.setBorderBottom(BorderStyle.THIN); | 
 |  |  | 
 |  |  |         private Field field; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 导出到指定输出流 | 
 |  |  |      * @param os 输出流 | 
 |  |  |      */ | 
 |  |  |     public static void exportList (List<List<String>> dataList ,String sheetName, OutputStream os) { | 
 |  |  |         SXSSFWorkbook sxssfWorkbook; | 
 |  |  |         try { | 
 |  |  |             sxssfWorkbook = new SXSSFWorkbook(); | 
 |  |  |             Sheet sheet = sxssfWorkbook.createSheet(sheetName); | 
 |  |  |             // 创建列头 | 
 |  |  |             sheet.createFreezePane(0, 1); | 
 |  |  |             CellStyle hstyle = configHeaderCellStatic(sxssfWorkbook); | 
 |  |  |             CellStyle rowStyle = configDataCellStatic(sxssfWorkbook); | 
 |  |  |             for (int i = 0; i < dataList.size(); i++) { | 
 |  |  |                 Row row = sheet.createRow(i); | 
 |  |  |                 List<String> rowList = dataList.get(i); | 
 |  |  |                 for (int j = 0; j < rowList.size(); j++) { | 
 |  |  |                     Cell cell = row.createCell(j); | 
 |  |  |                     cell.setCellValue(rowList.get(j)); | 
 |  |  | //                    if(i==0&&j==0){ | 
 |  |  | //                        cell.setCellValue("数据日期"); | 
 |  |  | //                    }else{ | 
 |  |  | //                        cell.setCellValue(rowList.get(j)); | 
 |  |  | //                    } | 
 |  |  |                     if(i==0){ | 
 |  |  |                         sheet.setColumnWidth(i, (rowList.get(j).length() + 2 )  * 2 * 256); | 
 |  |  | //                        cell.setCellStyle(hstyle); | 
 |  |  |                     } | 
 |  |  |                     if(i==0 || j==0){ | 
 |  |  |                         cell.setCellStyle(hstyle); | 
 |  |  |                     }else{ | 
 |  |  |                         cell.setCellStyle(rowStyle); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             sxssfWorkbook.write(os); | 
 |  |  |             os.close(); | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); | 
 |  |  |         } finally { | 
 |  |  |             if (os != null) { | 
 |  |  |                 try { | 
 |  |  |                     os.close(); | 
 |  |  |                 } catch (IOException e) { | 
 |  |  |                     e.printStackTrace(); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     private static CellStyle configHeaderCellStatic (SXSSFWorkbook workbook)  { | 
 |  |  |         CellStyle style = workbook.createCellStyle(); | 
 |  |  |         style.setAlignment(HorizontalAlignment.CENTER); | 
 |  |  |         style.setVerticalAlignment(VerticalAlignment.CENTER); | 
 |  |  |         // 设置背景 | 
 |  |  |         style.setFillPattern(FillPatternType.SOLID_FOREGROUND); | 
 |  |  |         style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); | 
 |  |  |         // 字体 | 
 |  |  |         Font font = workbook.createFont(); | 
 |  |  |         font.setFontHeightInPoints((short) 10); | 
 |  |  |         style.setFont(font); | 
 |  |  |         // 设置边框 | 
 |  |  |         configCellBorder(style); | 
 |  |  |         return style; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 配置数据单元格 | 
 |  |  |      */ | 
 |  |  |     private static CellStyle configDataCellStatic  (SXSSFWorkbook workbook ) { | 
 |  |  |         CellStyle  configDataCellStyle = workbook.createCellStyle(); | 
 |  |  |         configDataCellStyle.setAlignment(HorizontalAlignment.CENTER); | 
 |  |  |         configDataCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); | 
 |  |  |         // 设置背景 | 
 |  |  | //        configDataCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); | 
 |  |  | //        configDataCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); | 
 |  |  |         // 字体 | 
 |  |  |         Font font = workbook.createFont(); | 
 |  |  |         font.setFontHeightInPoints((short) 10); | 
 |  |  |  | 
 |  |  |         configDataCellStyle.setFont(font); | 
 |  |  |         // 边框 | 
 |  |  |         configCellBorder(configDataCellStyle); | 
 |  |  |         configDataCellStyle.setWrapText(true); | 
 |  |  |         return configDataCellStyle; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |