我可以使用Writer类生成xlsx文件吗?

时间:2014-10-31 09:15:51

标签: java xssf

有没有办法使用java中的Writer类生成xlsx文件?

我用来生成转换为字节数组的工作簿的方法:

private byte[] generateXlsxBytes() {
    XSSFWorkbook workbook = new XSSFWorkbook();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    workbook.write(baos);
    baos.close();
    return baos.toByteArray();
}

我尝试通过执行以下操作将字节写入writer:

Writer writer = ..get the writer..
IOUtils.write(generateXlsBytes(), writer);

但是当我尝试在excel中打开文件时,我收到一条消息,指出文件的标记对于扩展名(xlsx)不正确。

我使用自定义框架,它不允许我使用FileOutputStream直接写入文件。如果有人能告诉我使用Writer的方法,我将非常感激。

1 个答案:

答案 0 :(得分:1)

@ A4L谢谢你向我解释。

编写器不是用来写原始字节的。

我刚刚请求我的一位同事在框架中进行更改,以便我可以使用OutputStream