tutorial poi ooxml librería español descargar create java apache-poi

java - ooxml - poi xssf jar



¿Cómo puedo convertir POI HSSFWorkbook a bytes? (2)

Al llamar a Simple toBytes() sí produce los bytes, pero exel lanza la Advertencia.

Información del documento perdido

Buscar en Google me dio este link y buscar en toBytes() hoja de trabajo y POI HOW-TO decir cosas similares. Básicamente no puedo obtener Bytes sin perder algo de información y debería usar el método de write lugar.

Mientras que la escritura funciona bien, realmente necesito enviar los bytes. ¿Hay alguna manera de que pueda hacer eso? Eso es obtener los bytes sin recibir ninguna advertencia.


Como decía ese post de la lista de correo

La invocación de toBytes() no devuelve todos los datos necesarios para reconstruir un archivo Excel completo.

Puede utilizar el método de escritura con un ByteArrayOutputStream para obtener la matriz de bytes.

ByteArrayOutputStream bos = new ByteArrayOutputStream(); try { workbook.write(bos); } finally { bos.close(); } byte[] bytes = bos.toByteArray();

(La llamada de close no es realmente necesaria para un ByteArrayOutputStream , pero ahora es un buen estilo para incluirlo en caso de que luego se cambie a un tipo diferente de flujo)


Qué tal si:

ByteArrayOutputStream baos = new ByteArrayOutputStream(); workbook.write(baos); byte[] xls = baos.toByteArray();

Para obtener un archivo de Excel completo, debe llamar al método de escritura (OutputStream). Si quieres bytes de eso, solo dale un ByteArrayOutputStream