0

Excel xml (Microsoft Office Excel で開くことができる xml) を開くことは可能ですか? xml スプレッドシート リファレンスに準拠した完全に優れた xml です。

私は使用しようとしました:

String outputFile = "output.xml";
FileInputStream file = new FileInputStream( new File( outputFile ) );
Workbook wb = WorkbookFactory.create( new POIFSFileSystem( file ) );
Sheet sheet = wb.getSheetAt(0);

以下の例外が表示されます:

java.io.IOException: Invalid header signature; read 0x6576206C6D783F3C, expected 0xE11AB1A1E011CFD0
    at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:140)
    at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:104)
    at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:138)
4

1 に答える 1

0

新しい Excel バージョンでは、暗号化がよく使用されるようです。私にとっては、次のコードが機能します

InputStream fin = new FileInputStream(xlsFile);
BufferedInputStream in = new BufferedInputStream(fin);
if (POIFSFileSystem.hasPOIFSHeader(in)) {
    // if there is any encryption
    POIFSFileSystem fs = new POIFSFileSystem(in);
    EncryptionInfo info = new EncryptionInfo(fs);
    Decryptor d = Decryptor.getInstance(info);
    d.verifyPassword(Decryptor.DEFAULT_PASSWORD);
    workbook = WorkbookFactory.create(d.getDataStream(fs));
}
else
    // without encryption
    workbook = WorkbookFactory.create(in);
于 2016-07-12T16:38:13.120 に答える