From 45adc193ca31e83a908fb7cc27ba076f94557386 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期六, 01 三月 2025 15:25:35 +0800 Subject: [PATCH] 优化导出Excel日期格式双击离开后与设定的格式不一致问题 --- src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | 37 +++++++++++++++++++------------------ 1 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index d0f0971..6ae9015 100644 --- a/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -311,10 +311,22 @@ */ public List<T> importExcel(InputStream is) { + return importExcel(is, 0); + } + + /** + * 瀵筫xcel琛ㄥ崟榛樿绗竴涓储寮曞悕杞崲鎴恖ist + * + * @param is 杈撳叆娴� + * @param titleNum 鏍囬鍗犵敤琛屾暟 + * @return 杞崲鍚庨泦鍚� + */ + public List<T> importExcel(InputStream is, int titleNum) + { List<T> list = null; try { - list = importExcel(is, 0); + list = importExcel(StringUtils.EMPTY, is, titleNum); } catch (Exception e) { @@ -326,18 +338,6 @@ IOUtils.closeQuietly(is); } return list; - } - - /** - * 瀵筫xcel琛ㄥ崟榛樿绗竴涓储寮曞悕杞崲鎴恖ist - * - * @param is 杈撳叆娴� - * @param titleNum 鏍囬鍗犵敤琛屾暟 - * @return 杞崲鍚庨泦鍚� - */ - public List<T> importExcel(InputStream is, int titleNum) throws Exception - { - return importExcel(StringUtils.EMPTY, is, titleNum); } /** @@ -950,7 +950,7 @@ */ public void annotationDataStyles(Map<String, CellStyle> styles, Field field, Excel excel) { - String key = StringUtils.format("data_{}_{}_{}_{}", excel.align(), excel.color(), excel.backgroundColor(), excel.cellType()); + String key = StringUtils.format("data_{}_{}_{}_{}_{}", excel.align(), excel.color(), excel.backgroundColor(), excel.cellType(), excel.wrapText()); if (!styles.containsKey(key)) { CellStyle style = wb.createCellStyle(); @@ -966,6 +966,7 @@ style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); style.setFillPattern(FillPatternType.SOLID_FOREGROUND); style.setFillForegroundColor(excel.backgroundColor().getIndex()); + style.setWrapText(excel.wrapText()); Font dataFont = wb.createFont(); dataFont.setFontName("Arial"); dataFont.setFontHeightInPoints((short) 10); @@ -994,7 +995,7 @@ if (isSubList()) { // 濉厖榛樿鏍峰紡锛岄槻姝㈠悎骞跺崟鍏冩牸鏍峰紡澶辨晥 - sheet.setDefaultColumnStyle(column, styles.get(StringUtils.format("data_{}_{}_{}_{}", attr.align(), attr.color(), attr.backgroundColor(), attr.cellType()))); + sheet.setDefaultColumnStyle(column, styles.get(StringUtils.format("data_{}_{}_{}_{}_{}", attr.align(), attr.color(), attr.backgroundColor(), attr.cellType(), attr.wrapText()))); if (attr.needMerge()) { sheet.addMergedRegion(new CellRangeAddress(rownum - 1, rownum, column, column)); @@ -1137,7 +1138,7 @@ sheet.addMergedRegion(new CellRangeAddress(subMergedFirstRowNum, subMergedLastRowNum, column, column)); } } - cell.setCellStyle(styles.get(StringUtils.format("data_{}_{}_{}_{}", attr.align(), attr.color(), attr.backgroundColor(), attr.cellType()))); + cell.setCellStyle(styles.get(StringUtils.format("data_{}_{}_{}_{}_{}", attr.align(), attr.color(), attr.backgroundColor(), attr.cellType(), attr.wrapText()))); // 鐢ㄤ簬璇诲彇瀵硅薄涓殑灞炴�� Object value = getTargetValue(vo, field, attr); @@ -1147,6 +1148,7 @@ String dictType = attr.dictType(); if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value)) { + cell.getCellStyle().setDataFormat(this.wb.getCreationHelper().createDataFormat().getFormat(dateFormat)); cell.setCellValue(parseDateToStr(dateFormat, value)); } else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value)) @@ -1447,8 +1449,7 @@ */ public String encodingFilename(String filename) { - filename = UUID.randomUUID() + "_" + filename + ".xlsx"; - return filename; + return UUID.randomUUID() + "_" + filename + ".xlsx"; } /** -- Gitblit v1.9.3