のApache POI HSSFを使用して、我々は、私がXSSFWorkbook
でどのように書くことができ、同様にこのApache POI - XSSFWorkbookをPOIFSFileSystemに書き込む方法は?
private void write(HSSFWorkbook workbook) {
POIFSFileSystem filesystem = new POIFSFileSystem();
filesystem.createDocument(new ByteArrayInputStream(workbook.getBytes()),
"Workbook");
FileOutputStream stream = new FileOutputStream("test.xls");
filesystem.writeFilesystem(stream);
}
などのXLSファイルを作成することができますか?これにはgetBytes()
メソッドがありません。
私はこのようなXSSFWorkbook
からByteArrayInputStream
を作成しようとしました -
ByteArrayOutputStream baos = new ByteArrayOutputStream();
workbook.write(baos); //XSSFWorkbook here
ByteArrayInputStream bias = new ByteArrayInputStream(baos.toByteArray());
しかし、作成したXLSXファイルが壊れていました。 POIFSFileSystem
を使用してワークブックをディスクに書き込むにはどうすればよいですか?私はこのようにやったとき
同じXSSFWorkbook
がsucessfully書かれていた - 私はのxlsxファイルを抽出して比較すると
FileOutputStream stream = new FileOutputStream("test.xlsx");
workbook.write(stream);
、差は認められませんでした。しかし、xlsxファイルでプレーンテキストを直接比較すると(抽出せずに)、バイト数にはほとんど違いがありません。
したがって、問題は、および/またはwriteFilesystem()
の方法がPOIFSFileSystem
である必要があります。誰かがPOIFSFileSystem
を使用してXSSFWorkbook
を書く方法を教えてもらえますか?