2017-07-06 67 views
0

我试图读取通过selenium webdriver从我们的应用程序下载的.xls文件(MS 97-20003 Worksheet)。但我得到以下错误:如何通过Selenium Webdriver阅读MS 97-2003工作表?

“org.apache.poi.poifs.filesystem.NotOLE2FileException:所提供的数据似乎是一个原始的XML文件格式,例如Office 2003的XML不支持”

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

“您试图打开的文件'ReportXX'采用与文件扩展名指定的格式不同的格式.verify文件未损坏,并且来自一个值得信赖的来源.....'。

通过点击'是'我可以打开它并验证内容

请参阅下面的代码,让我知道如何解决它。提前致谢!!

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); 
} 
+2

这意味着您正在尝试下载的文件实际上并不是xls。它可能是一个xlsx。所以问题似乎在生成该excel文件的服务器中。 – litelite

回答

0

您可以我们JXL.jar的.jar文件哪个更适合阅读的Microsoft Excel工作表 的POI.jar您正在使用是对的.xlsx格式更支持的.xls文件只是尝试这个。

相关问题