【绑定日期字段后单元格格式没有生效】
本帖最后由 Richard.Huang 于 2023-11-24 16:04 编辑产品:GcExcel
版本:6.1.4
问题编号:DOCXLS-9329
我在模板里面是设置了单元格格式的,但是绑定日期进去后并没有生效。
代码如下:
public class DemoJsonDatasource3 {
public static void main(String[] args) throws IOException {
String index = "32";
Workbook workbook = new Workbook();
String rootPath = "";
String templateFile = rootPath + index + ".template.xlsx";
workbook.open(templateFile);
String dataFile0 = rootPath + index + ".ds0.json.txt";
JsonDataSource datasource0 = new JsonDataSource(new String(Files.readAllBytes(Paths.get(dataFile0)), StandardCharsets.UTF_8));
workbook.addDataSource("ds0", datasource0);
boolean page = false;
if (page) {
workbook.getNames().add("TemplateOptions.PaginationMode", "true");
for (IWorksheet worksheet : workbook.getWorksheets()) {
worksheet.getPageSetup().setPaperSize(PaperSize.A2);
worksheet.getPageSetup().setOrientation(PageOrientation.Landscape);
}
}
workbook.processTemplate();
workbook.save(rootPath + index + ".result.xlsx");
}
}
您好,我将您的demo和代码放在本地进行了测试,但是结果并没有复现您所说的日期格式失效问题:
您能否详细描述一下您的问题,并告知一下复现您的问题的详细步骤 Richard.Huang 发表于 2023-11-24 14:47
您好,我将您的demo和代码放在本地进行了测试,但是结果并没有复现您所说的日期格式失效问题:
您能否详细 ...
格式设置到分,但是结果呢显示到毫秒了。 葡萄种子 发表于 2023-11-24 15:21
格式设置到分,但是结果呢显示到毫秒了。
年月日的分割线是/但是没生效 Richard.Huang 发表于 2023-11-24 14:47
您好,我将您的demo和代码放在本地进行了测试,但是结果并没有复现您所说的日期格式失效问题:
您能否详细 ...
我就是用这个demo复现的,你本地的结果是怎样的,是你贴的这个图片吗 葡萄种子 发表于 2023-11-24 15:24
我就是用这个demo复现的,你本地的结果是怎样的,是你贴的这个图片吗
抱歉之前没能理解您的意思,经过测试,我在GcExcelV6.2.5中复现了您描述的问题,对此我们会进行深入调研,后续有相关调研结果我会第一时间在本贴中进行回复。问题编号:DOCXLS-9329 最新调研结果,该问题的主要原因是您数据源中日期是一个字符串,我们是无法对一个字符串类型的值进行数值类型的格式设置的,因此为了解决该问题,建议您将日期改为OAdata类型:
{"u_c3f773f19fcb0912_2":"2023-11-23 13:42:24.739"} 变成{"u_c3f773f19fcb0912_2": 45253.5711196644}
或者使用自定义对象的数据绑定方式,为属性设置一个OADate类型的值。通过Java的转换将字符串格式的日期改为OADate类型:https://demo.grapecity.com.cn/documents-api-excel-java/demos/customobject Richard.Huang 发表于 2023-11-24 17:45
最新调研结果,该问题的主要原因是您数据源中日期是一个字符串,我们是无法对一个字符串类型的值进行数值类 ...
可以绑定record是的map吗?我们定义java对象比较麻烦,因为对象的字段不是固定的。 葡萄种子 发表于 2023-11-24 18:04
可以绑定record是的map吗?我们定义java对象比较麻烦,因为对象的字段不是固定的。
抱歉,目前并不支持Map类型的数据源。您只能将json文件、ResultSet、变量、自定义对象作为数据源。
学习指南参考:https://demo.grapecity.com.cn/do ... va/demos/datasource 建议增加map的支持,那样灵活性会更好一些哈。我们也想其他办法解决吧。
页:
[1]
2