我有一个 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
最佳答案
jdbc 方法 PreparedStatement#setBlob()
将 InputStream
作为数据源参数。只需在 byteArrayOutputStream 的缓冲区上创建一个 ByteArrayInputStream
并将其传递给 setBlob()
。
关于Java:byte[] 数组到 Excel 到 BLOB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7149108/