我正在尝试使用Java代码读取Excel文件 但是我得到了以下错误:
jxl.read.biff.BiffException:无法识别OLE流
当我在网上搜索时,我发现jExcel仅支持excel 2003,而且这个错误是在2007年制作excel的时候出现的,我只保存了我的excel 97-2003格式而且我仍然遇到这个问题
答案 0 :(得分:9)
JExcel API不支持excel 2007,您可以使用Apache POI HSSF/XSSF
这是从网站上阅读和重写工作簿的示例代码
InputStream inp = new FileInputStream("workbook.xls");
//InputStream inp = new FileInputStream("workbook.xlsx");
Workbook wb = WorkbookFactory.create(inp);
Sheet sheet = wb.getSheetAt(0);
Row row = sheet.getRow(2);
Cell cell = row.getCell(3);
if (cell == null)
cell = row.createCell(3);
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue("a test");
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
答案 1 :(得分:0)
我没有JExcel的经验,但我相信你认为问题是文件格式之一是正确的。我建议你试试Apache POI项目。我广泛使用它来读写Excel电子表格。它将读取从Excel 5.0以后的IIRC创建的任何电子表格,并支持.xsl和.xslx文件类型。
答案 2 :(得分:-1)
我使用JExcel很长一段时间但从来没有遇到过这种问题。我认为您的文件不是XLS格式。您尝试创建一个新的Excel文件并尝试阅读它。