如何将Apache POI生成的文件直接放入数据库中

时间:2013-10-14 07:42:23

标签: java sql-server apache-poi

HSSFWorkbook wb = new HSSFWorkbook();
byte[] BinaryFileBytes = wb.getBytes();

使用此代码,我可以获取一个字节数组对象并将其写入数据库。 但是我无法导出它。是否要生成本地导入数据库?请。

1 个答案:

答案 0 :(得分:1)

您没有正确写出文件。来自the getBytes() javadocs

  

方法getBytes - 获取XLS文件的HSSF部分的字节。用它来自己构建一个POI POIFSFileSystem。

如果要获取整个文件的字节,则应该执行以下操作:

HSSFWorkbook wb = new HSSFWorkbook();
// Populate

ByteArrayOutputStream baos = new ByteArrayOutputStream();
wb.write(baos);
byte[] data = baos.toByteArray();

或者,查看您的数据库是否提供了一个OutputStream来将数据写入blob存储,如果是这样,只需将其传递给wb.write(out)直接调用