首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用documents4j将xlsx文件转换为xls

无法使用documents4j将xlsx文件转换为xls
EN

Stack Overflow用户
提问于 2018-08-21 10:29:36
回答 1查看 277关注 0票数 0

我有一个测试用例,需要下载一个xlsx Excel文件,向其中写入数据,然后保存它。使用apache poi,我能够成功地做到这一点。但现在,我需要一种将该文件转换为xls并将其上传到我们的应用程序的方法。

我正在使用documents4j尝试将文件从xlsx转换为xls。但是它无法创建xls文件。因此,当我运行测试时,它找不到文件,脚本也会在这一点上失败。

代码语言:javascript
复制
import com.documents4j.api.DocumentType;
import com.documents4j.api.IConverter;
import com.documents4j.job.LocalConverter;
import java.io.File;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;

public class File_Converter {

    public static void convert_XLSX_To_XLS() throws InterruptedException, ExecutionException, IOException {
        File wordFile = new File("C:\\Users\\Jeff15\\Downloads\\scheduleUpload.xlsx"),
                target = new File("C:\\Users\\Jeff15\\Downloads\\scheduleUpload.xls");

        IConverter converter = LocalConverter.builder()
                .baseFolder(new File("C:\\Users\\Jeff15\\Downloads\\"))
                .workerPool(20, 25, 2, TimeUnit.SECONDS)
                .processTimeout(5, TimeUnit.SECONDS)
                .build();

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

我有以下Maven依赖项:

代码语言:javascript
复制
documents4j-transformer-msoffice-base 1.0.3
documents4j-api 1.0.3
documents4j-util-conversion 1.0.3
documents4j-transformer-api 1.0.3
documents4j-util-all 1.0.3
documents4j-local 1.0.3
documents4j-util-ws 1.0.3
documents4j-util-standalone 1.0.3
documents4j-transformer-msoffice-excel 1.0.3
documents4j-test 1.0.3
documents4j-transformer-msoffice-test 1.0.3
documents4j-transformer-msoffice 1.0.3
documents4j-aggregation 1.0.3

我没有收到任何相关的错误。当脚本找不到xls文件,然后单击"Upload“按钮时,该脚本将失败。

代码语言:javascript
复制
[main] INFO com.documents4j.conversion.msoffice.MicrosoftExcelBridge - From-Microsoft-Excel-Converter was started successfully
[main] INFO com.documents4j.job.LocalConverter - The documents4j local converter has started successfully
[pool-1-thread-1] INFO com.documents4j.conversion.msoffice.MicrosoftExcelBridge - Requested conversion from C:\Users\Jeff15\Downloads\scheduleUpload.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet) to C:\Users\Jeff15\Downloads\scheduleUpload.xls (application/vnd.ms-excel)
FAILED: Schedule_xls_File_Upload_Test
org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//button[text()='Upload']"}
EN

回答 1

Stack Overflow用户

发布于 2018-08-21 17:21:29

似乎,这是一个错误,以降级的excel文件版本。我检查了一下,发现我们可以从XLS更改为XLSX,但反向不起作用。我建议您使用apache poi来转换格式。希望这对你有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51940784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档