Java:byte [] Array to Excel to BLOB

时间:2011-08-22 14:37:38

标签: java excel bytearray export-to-excel jxl

我有一个byte []数组,需要转换为有效的Excel电子表格。转换字节数组后,必须将excel电子表格缓存到数据库中,最好是BLOB。

首先,我尝试创建一个WritableWorkbook:

WritableWorkbook workbook = Workbook.createWorkbook(byteArrayOutputStream);
...
workbook.write();

这对我来说很好,但我不知道如何将工作簿作为BLOB存储到数据库中。它甚至可能吗?或者还有另一种方式吗?

可选:我也可以使用反序列化的对象代替byte []数组。

工作簿API:http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/jxl/Workbook.html

2 个答案:

答案 0 :(得分:3)

jdbc方法PreparedStatement#setBlob()使用InputStream作为数据源参数。只需在byteArrayOutputStream的缓冲区上创建ByteArrayInputStream,然后将其传递给setBlob()

答案 1 :(得分:1)

jxl中没有方法可以从writableWorkSheet获取outputstream或字节数组。