0

当使用documents4j从xls转换为xlsx时,包含类型为dd-mmm-yyyy的自定义类别日期格式的列被转换为数值 - 在我的例子中,xls doc中的24-Nov-1990变成了33201 xlsx 文档。关于如何纠正这个问题的任何想法?我使用的是 1.1.3 版。

当我使用 POI 读取可比较的值时,我在另一个应用程序中遇到了类似的问题。我首先必须检查该列是否为数字并且具有日期格式,如果是,则获取日期值。

文档4j代码:

File target = new File(OUTGOING_FILE_FOLDER + newFileName);
IConverter converter = LocalConverter.builder()
    .baseFolder(new File(BASE_FOLDER))
    .workerPool(20, 25, 2, TimeUnit.SECONDS)
    .processTimeout(5, TimeUnit.SECONDS)
    .build();

Future<Boolean> conversion = converter
    .convert(xlsFile).as(DocumentType.XLS)
    .to(target).as(DocumentType.XLSX)
    .prioritizeWith(1000)
    .schedule();

谢谢你,查尔斯·哈维

4

1 回答 1

0

在这种情况下,转换由 MS Excel 完成。documents4j 无法改变机制。如果您在 Excel 中应用相同的转换并了解如何调整转换,那么将使用documents4j 应用相同的转换。

于 2020-04-29T18:13:56.707 回答