From b0cf8fb827157f3bfc31d5ae155fdb786d0a9e24 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期三, 21 六月 2023 09:23:12 +0800 Subject: [PATCH] jar替换 --- src/main/java/com/whyc/util/ExcelUtil.java | 22 +++++++++++++++++----- 1 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/whyc/util/ExcelUtil.java b/src/main/java/com/whyc/util/ExcelUtil.java index ae094c7..8554625 100644 --- a/src/main/java/com/whyc/util/ExcelUtil.java +++ b/src/main/java/com/whyc/util/ExcelUtil.java @@ -1,10 +1,12 @@ package com.whyc.util; import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; +import java.net.URLEncoder; /** * @Description: 琛ㄦ牸宸ュ叿绫� @@ -19,6 +21,8 @@ } //绗簩姝ワ紝鍦╳ebbook涓坊鍔犱竴涓猻heet锛屽嵆excel鐨勮〃鍗� HSSFSheet sheet = wb.createSheet(sheetName); + CellRangeAddress rangeAddress = CellRangeAddress.valueOf("A1:J1"); + sheet.setAutoFilter(rangeAddress); //璁剧疆鍒楀搴� //鍒ゆ柇鏄惁涓虹┖ if (values != null && values.length > 0) { @@ -28,6 +32,13 @@ } //绗笁姝ワ紝鍦╯heet涓坊鍔犺〃澶寸0琛岋紝鍗砮xcel鐨勮 HSSFRow row = sheet.createRow(0); + HSSFCellStyle titleCellStyle = wb.createCellStyle(); + titleCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); + HSSFFont font = wb.createFont(); + font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); + titleCellStyle.setFont(font); + row.setRowStyle(titleCellStyle); + //绗洓姝ワ紝鍒涘缓鍗曞厓鏍硷紝骞惰缃�艰〃澶达紝璁剧疆琛ㄥご灞呬腑锛屽嵆excel鏍煎瓙鍗曞厓 HSSFCellStyle style = wb.createCellStyle(); //灞呬腑鏍煎紡 @@ -45,7 +56,7 @@ for (int i = 0; i < title.length; i++) { cell = row.createCell(i); cell.setCellValue(title[i].toString()); - cell.setCellStyle(style); + cell.setCellStyle(titleCellStyle); } // 鍒涘缓鍐呭 for (int i = 0; i < values.length; i++) { @@ -68,8 +79,9 @@ e.printStackTrace(); } try { - //response.setCharacterEncoding("UTF-8"); - response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes()) + ".xls"); + //response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1) + ".xls"); + response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode (fileName+ ".xls", "utf-8")); + response.setCharacterEncoding("UTF-8"); //涓嶄繚瀛樼紦瀛樹俊鎭笌response.reset鍚屾牱鏁堟灉 response.addHeader("Pragma", "no-cache"); response.addHeader("Cache-Control", "no-cache"); @@ -82,13 +94,13 @@ } //鏋勯�犳寚瀹氱殑鍗曞厓鏍兼牱寮� - public static HSSFCellStyle createCellStyle(HSSFWorkbook wb,String fontType,int fontSize,boolean center,boolean blod){ + public static HSSFCellStyle createCellStyle(HSSFWorkbook wb,String fontType,int fontSize,boolean center,boolean bold){ HSSFCellStyle cellStyle = wb.createCellStyle(); //鍗曞厓鏍兼牱寮� HSSFFont font = wb.createFont(); font.setFontName(fontType); font.setFontHeightInPoints((short) fontSize); //璁剧疆瀛椾綋澶у皬 - font.setBoldweight(blod?HSSFFont.BOLDWEIGHT_BOLD:HSSFFont.BOLDWEIGHT_NORMAL); //绮椾綋鏄剧ず + font.setBoldweight(bold?HSSFFont.BOLDWEIGHT_BOLD:HSSFFont.BOLDWEIGHT_NORMAL); //绮椾綋鏄剧ず cellStyle.setFont(font); //鏍囬鏍峰紡 cellStyle.setAlignment(center?HSSFCellStyle.ALIGN_CENTER_SELECTION:HSSFCellStyle.ALIGN_LEFT); // 灞呬腑 return cellStyle; -- Gitblit v1.9.1