документы4j xls xlsx преобразование даты - PullRequest
0 голосов
/ 28 апреля 2020

При преобразовании из xls в xlsx с documents4j столбцы, содержащие формат даты категории Custom с типом dd-mmm-yyyy, преобразуются в значение цифры c - в моем случае, 24 ноября 1990 года xls do c становится 33201 в xlsx do c. Есть идеи, как это исправить? Я использую версию 1.1.3.

Я столкнулся с проблемой, похожей на эту, в другом приложении, когда читал сопоставимые значения в POI. Сначала я должен был проверить, был ли столбец цифрой c и имеет ли он формат даты, и если это так, то получить значение даты.

documents4j код:

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();

Спасибо, Чарльз Харви

1 Ответ

0 голосов
/ 29 апреля 2020

В этом случае преобразование выполняется MS Excel. Documents4j ничего не может сделать, чтобы изменить механизм. Если вы примените такое же преобразование в Excel и узнаете, как настроить преобразование, то же самое будет применено с использованием documents4j.

...