起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8925|回复: 4

[分享] 【好贴】通过exportExcel组件到处excel,日期格式不正确,显...

[复制链接]

997

主题

4326

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10696
QQ
发表于 2021-7-6 10:35:01 | 显示全部楼层 |阅读模式
本帖最后由 ecoolper 于 2023-8-4 09:35 编辑

通过exportExcel组件到处excel,日期格式不正确,显示的是数字
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案

997

主题

4326

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10696
QQ
 楼主| 发表于 2021-7-6 19:21:13 | 显示全部楼层
本帖最后由 ecoolper 于 2021-7-7 08:44 编辑

1、查看源码,bex5默认好像不支持;
2、下面的具体解决方案,需要写代码解决:
  1. /**
  2.          * 通过代码修改日期格式
  3.          */
  4.         public static void processAfterExportExcelAfterAction() {
  5.                 ActionContext ac = ContextHelper.getActionContext();
  6.                 XSSFWorkbook workbook = (XSSFWorkbook) ac.getParameter("excel");
  7.                 XSSFCellStyle dateCellStyle = workbook.createCellStyle();
  8.                 dateCellStyle.setDataFormat(workbook.createDataFormat().getFormat("yyyy-mm-dd"));

  9.                 XSSFSheet sheet = workbook.getSheetAt(0);
  10.                 int lastRowNum = sheet.getLastRowNum();
  11.                 for (int i = 1; i <= lastRowNum; i++) {
  12.                         XSSFRow row = sheet.getRow(i);
  13.                         // 日期
  14.                         Cell cell = row.getCell(2);
  15.                         if (cell != null) {
  16.                                 cell.setCellStyle(dateCellStyle);
  17.                         }
  18.                      
  19.                 }
  20.         }
复制代码


孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

997

主题

4326

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10696
QQ
 楼主| 发表于 2021-7-6 19:23:27 | 显示全部楼层
结贴
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复

使用道具 举报

997

主题

4326

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10696
QQ
 楼主| 发表于 2021-11-1 10:02:26 | 显示全部楼层
下面写法更好,同时支持高低版本excel
  1.        public static void ecoolperAfterExportExcelAfterAction() {
  2.                 ActionContext ac = ContextHelper.getActionContext();
  3.                 Workbook workbook = (Workbook)ac.getParameter("excel");
  4.                 CellStyle dateCellStyle = workbook.createCellStyle();
  5.                 dateCellStyle.setDataFormat(workbook.createDataFormat().getFormat("yyyy-mm-dd"));

  6.                 Sheet sheet = workbook.getSheetAt(0);
  7.                 int lastRowNum = sheet.getLastRowNum();
  8.                 for (int i = 1; i <= lastRowNum; i++) {
  9.                         Row row = sheet.getRow(i);
  10.                         // 日期
  11.                         Cell cell = row.getCell(6);
  12.                         if (cell != null) {
  13.                                 System.out.println(cell.getDateCellValue());
  14.                                 cell.setCellStyle(dateCellStyle);
  15.                                 System.out.println(cell.getDateCellValue());
  16.                         }
  17.                         cell = row.getCell(7);
  18.                         if (cell != null) {
  19.                                 cell.setCellStyle(dateCellStyle);
  20.                         }
  21.                         cell = row.getCell(8);
  22.                         if (cell != null) {
  23.                                 cell.setCellStyle(dateCellStyle);
  24.                         }
  25.                 }
  26.         }
复制代码


孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

33

主题

373

帖子

914

积分

高级会员

Rank: 4

积分
914
QQ
发表于 2021-12-8 16:25:19 | 显示全部楼层
学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-3-29 23:56 , Processed in 0.058529 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表