Java 如何通过Selenium Webdriver阅读MS 97-2003工作表?

Java 如何通过Selenium Webdriver阅读MS 97-2003工作表?,java,selenium,selenium-webdriver,apache-poi,hssf,Java,Selenium,Selenium Webdriver,Apache Poi,Hssf,我正在尝试读取通过selenium webdriver从应用程序下载的.xls文件(MS 97-20003工作表)。但是我得到了以下错误: “org.apache.poi.poifs.filesystem.NotOLE2FileException:提供的数据似乎是原始XML文件。不支持Office 2003 XML等格式” 当我手动打开它时,会收到以下消息: “您试图打开的文件‘ReportXX’的格式与文件扩展名指定的格式不同。请确认该文件未损坏,并且来自受信任的源…” 通过单击“是”,我可以

我正在尝试读取通过selenium webdriver从应用程序下载的.xls文件(MS 97-20003工作表)。但是我得到了以下错误:

“org.apache.poi.poifs.filesystem.NotOLE2FileException:提供的数据似乎是原始XML文件。不支持Office 2003 XML等格式”

当我手动打开它时,会收到以下消息:

“您试图打开的文件‘ReportXX’的格式与文件扩展名指定的格式不同。请确认该文件未损坏,并且来自受信任的源…”

通过单击“是”,我可以打开它并验证内容

请查看下面的代码,并让我知道如何解决它。提前感谢

InputStream ExcelFileToRead = null;
    Workbook   wb = null;
    File file = new File("C:\\Users\\abcdef\\Downloads\\Report.xls");

    if (file.exists()) {

        ExcelFileToRead = new FileInputStream(file);

        wb = new HSSFWorkbook(ExcelFileToRead);
        System.out.println(wb.getNumberOfSheets());

        for (int i = 0; i < wb.getNumberOfSheets(); i++) {

            System.out.println("Sheet name: " + wb.getSheetName(i));
            Sheet sh = wb.getSheetAt(i);
}
InputStream ExcelFileToRead=null;
工作簿wb=null;
File File=新文件(“C:\\Users\\abcdef\\Downloads\\Report.xls”);
if(file.exists()){
ExcelFileToRead=新文件输入流(文件);
wb=新的HSSF工作手册(ExcelFileToRead);
System.out.println(wb.getNumberOfSheets());
对于(int i=0;i
您可以使用JXL.jar的.jar文件,它更适合读取Microsoft excel工作表的.xls文件
您正在使用的POI.jar更支持.xlsx格式。试试这个。

这意味着您试图下载的文件实际上不是一个xls。它可能是一个xlsx。因此,问题似乎出在生成该excel文件的服务器上。