Java: byte [] Массив из Excel в BLOB - PullRequest
4 голосов
/ 22 августа 2011

У меня есть массив 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 ]

3 голосов
/ 22 августа 2011

Метод jdbc PreparedStatement#setBlob() принимает InputStream в качестве аргумента источника данных. Просто создайте ByteArrayInputStream над буфером вашего byteArrayOutputStream и передайте его в setBlob().

1 голос
/ 14 сентября 2011

В jxl нет метода, из которого мы можем получить outputtream или байтовый массив из writableWorkSheet.

...