Java:将byte[]数组转换为Excel并存储为BLOB

5
我有一个byte[]数组需要转换成有效的Excel电子表格。转换完byte数组后,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

你应该至少在代码示例中提及你正在使用的项目,最好也将其放在标签中。 - MarianP
@Marian,你说的“project”是什么意思?我正在使用哪个项目? - 0xPixelfrost
那么,Workbook类从哪里来? - MarianP
当然,那个信息缺失了。我使用JXL,一个Excel Java API。(已添加到标签)http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/index.html - 0xPixelfrost
2个回答

4

jdbc方法PreparedStatement#setBlob()需要一个InputStream作为数据源参数。只需在byteArrayOutputStream的缓冲区上创建一个ByteArrayInputStream,并将其传递给setBlob()即可。


1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接