我有一个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
答案 0 :(得分:3)
jdbc方法PreparedStatement#setBlob()
使用InputStream
作为数据源参数。只需在byteArrayOutputStream的缓冲区上创建ByteArrayInputStream
,然后将其传递给setBlob()
。
答案 1 :(得分:1)
jxl中没有方法可以从writableWorkSheet获取outputstream或字节数组。