調用簡單toBytes()
會產生字節但exel會引發警告。如何將POI HSSFWorkbook轉換爲字節?
丟失的文檔的信息
周圍的Googling給了我這個link看着Javadocs的工作表和POI HOW-TO說,類似的事情。基本上我不能得到Bytes
而不丟失一些信息,應該使用write
方法。
雖然寫入工作正常,但我確實需要發送字節。有什麼辦法可以做到嗎?這是得到沒有得到任何警告的字節。
調用簡單toBytes()
會產生字節但exel會引發警告。如何將POI HSSFWorkbook轉換爲字節?
丟失的文檔的信息
周圍的Googling給了我這個link看着Javadocs的工作表和POI HOW-TO說,類似的事情。基本上我不能得到Bytes
而不丟失一些信息,應該使用write
方法。
雖然寫入工作正常,但我確實需要發送字節。有什麼辦法可以做到嗎?這是得到沒有得到任何警告的字節。
作爲該郵件列表的帖子中稱
調用
HSSFWorkbook.getBytes()
不返回所有必要數據的重新 構建一個完整的Excel文件。
您可以使用寫入方法與ByteArrayOutputStream
來獲取字節數組。
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
workbook.write(bos);
} finally {
bos.close();
}
byte[] bytes = bos.toByteArray();
(是不是真的需要的close
呼籲一個ByteArrayOutputStream
,但恕我直言,這是件好事風格的情況下,其後又改爲別樣流反正包括。)
如何:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
workbook.write(baos);
byte[] xls = baos.toByteArray();
爲了獲得一個完整的excel文件,你必須調用write(OutputStream)方法。如果你想從這個字節,只是給一個ByteArrayOutputStream