Javaコードを使用してExcelファイルを読み取ろうとしていますが、次のエラーが発生しています:
jxl.read.biff.BiffException: OLE ストリームを認識できません
ネットで検索したところ、jExcel は Excel 2003 までしかサポートしていないことがわかりました。このエラーは、Excel が 2007 年に作成されたときに発生します bt Excel を 97-2003 形式でのみ保存しましたが、まだこの問題が発生しています
JExcelAPIはExcel2007をサポートしていません。ApachePOIHSSF/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();
私は JExcel の経験がありませんが、問題はファイル形式の 1 つであると考えるのは正しいと思います。Apache POIプロジェクトを試すことをお勧めします。Excelスプレッドシートの読み書きに幅広く使用しています。Excel 5.0 以降の IIRC から作成されたスプレッドシートを読み取り、.xsl と .xslx の両方のファイル タイプをサポートします。
私は長い間JExcelを使用していますが、この種の問題は一度もありません。あなたのファイルは XLS 形式ではないと思います。新しい Excel ファイルを作成して、それを読み取ろうとします。