找回密码
 立即注册

QQ登录

只需一步,快速开始

葡萄种子
金牌服务用户   /  发表于:2023-11-24 12:42  /   查看:3504  /  回复:10
本帖最后由 Richard.Huang 于 2023-11-24 16:04 编辑

产品:GcExcel
版本:6.1.4
问题编号:DOCXLS-9329

我在模板里面是设置了单元格格式的,但是绑定日期进去后并没有生效。



代码如下:
  1. public class DemoJsonDatasource3 {
  2.     public static void main(String[] args) throws IOException {
  3.         String index = "32";
  4.         Workbook workbook = new Workbook();
  5.         String rootPath = "";
  6.         String templateFile = rootPath + index + ".template.xlsx";
  7.         workbook.open(templateFile);
  8.         String dataFile0 = rootPath + index + ".ds0.json.txt";
  9.         JsonDataSource datasource0 = new JsonDataSource(new String(Files.readAllBytes(Paths.get(dataFile0)), StandardCharsets.UTF_8));
  10.         workbook.addDataSource("ds0", datasource0);
  11.         boolean page = false;
  12.         if (page) {
  13.             workbook.getNames().add("TemplateOptions.PaginationMode", "true");
  14.             for (IWorksheet worksheet : workbook.getWorksheets()) {
  15.                 worksheet.getPageSetup().setPaperSize(PaperSize.A2);
  16.                 worksheet.getPageSetup().setOrientation(PageOrientation.Landscape);


  17.             }
  18.         }
  19.         workbook.processTemplate();
  20.         workbook.save(rootPath + index + ".result.xlsx");
  21.     }
  22. }
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

10 个回复

倒序浏览
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-24 14:47:39
沙发
您好,我将您的demo和代码放在本地进行了测试,但是结果并没有复现您所说的日期格式失效问题:
您能否详细描述一下您的问题,并告知一下复现您的问题的详细步骤

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
葡萄种子
金牌服务用户   /  发表于:2023-11-24 15:21:12
板凳
Richard.Huang 发表于 2023-11-24 14:47
您好,我将您的demo和代码放在本地进行了测试,但是结果并没有复现您所说的日期格式失效问题:
您能否详细 ...

格式设置到分,但是结果呢显示到毫秒了。
回复 使用道具 举报
葡萄种子
金牌服务用户   /  发表于:2023-11-24 15:21:48
地板
葡萄种子 发表于 2023-11-24 15:21
格式设置到分,但是结果呢显示到毫秒了。

年月日的分割线是/但是没生效
回复 使用道具 举报
葡萄种子
金牌服务用户   /  发表于:2023-11-24 15:24:24
5#
Richard.Huang 发表于 2023-11-24 14:47
您好,我将您的demo和代码放在本地进行了测试,但是结果并没有复现您所说的日期格式失效问题:
您能否详细 ...

我就是用这个demo复现的,你本地的结果是怎样的,是你贴的这个图片吗
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-24 16:04:25
6#
葡萄种子 发表于 2023-11-24 15:24
我就是用这个demo复现的,你本地的结果是怎样的,是你贴的这个图片吗

抱歉之前没能理解您的意思,经过测试,我在GcExcelV6.2.5中复现了您描述的问题,对此我们会进行深入调研,后续有相关调研结果我会第一时间在本贴中进行回复。问题编号:DOCXLS-9329
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-24 17:45:18
7#
最新调研结果,该问题的主要原因是您数据源中日期是一个字符串,我们是无法对一个字符串类型的值进行数值类型的格式设置的,因此为了解决该问题,建议您将日期改为OAdata类型:
{"u_c3f773f19fcb0912_2":"2023-11-23 13:42:24.739"} 变成{"u_c3f773f19fcb0912_2": 45253.5711196644}

或者使用自定义对象的数据绑定方式,为属性设置一个OADate类型的值。通过Java的转换将字符串格式的日期改为OADate类型:https://demo.grapecity.com.cn/do ... /demos/customobject
回复 使用道具 举报
葡萄种子
金牌服务用户   /  发表于:2023-11-24 18:04:59
8#
Richard.Huang 发表于 2023-11-24 17:45
最新调研结果,该问题的主要原因是您数据源中日期是一个字符串,我们是无法对一个字符串类型的值进行数值类 ...

可以绑定record是的map吗?我们定义java对象比较麻烦,因为对象的字段不是固定的。
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-26 14:10:26
9#
葡萄种子 发表于 2023-11-24 18:04
可以绑定record是的map吗?我们定义java对象比较麻烦,因为对象的字段不是固定的。

抱歉,目前并不支持Map类型的数据源。您只能将json文件、ResultSet、变量、自定义对象作为数据源。
学习指南参考:https://demo.grapecity.com.cn/do ... va/demos/datasource
回复 使用道具 举报
葡萄种子
金牌服务用户   /  发表于:2023-11-27 09:29:47
10#
建议增加map的支持,那样灵活性会更好一些哈。我们也想其他办法解决吧。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部