【问题标题】:workBook.write(fileoutputstream); writes empty excel fileworkBook.write(fileoutputstream);写入空的 excel 文件
【发布时间】:2013-06-06 16:47:45
【问题描述】:

我正在尝试将 Excel 工作簿写入文件。使用 Apache POI。我调试并发现我的工作簿有数据。一旦我将此工作簿写入 FileOutputStream,它就会成功写入而没有任何错误。但生成的文件中没有任何内容。那是一个空白文件。这是我编写文件的代码:

    public void generateOutputSheet(String outputPath)
{
    try
    {
HSSFWorkbook outputWrkBook =     mapBuilder.BuildOutputWorkBook(); // this have two sheets and each sheet have data
                                                                   //( one has 800 rows and another  6000 rows , i verified
FileOutputStream outputFilestream = new FileOutputStream(outputPath);

outputWrkBook.write(outputFilestream);
outputFilestream.flush();
outputFilestream.close();
    }
    catch(Exception ex)
    {
    ex.printStackTrace();
    }
    System.out.println("the output file is available at location:"+outputPath);

}

【问题讨论】:

  • 你是如何检查行数的?只是为了确定..您可以在示例中添加以下内容:HSSFSheet sheet = outputWrkBook.getSheetAt(0); System.out.println(sheet.getPhysicalNumberOfRows()+" "+sheet.getFirstRowNum()+" "+sheet.getLastRowNum()); ...希望这些行不为空,即包含空单元格...
  • 你能发布 BuildOutputWorkBook 方法吗?
  • 看来您正在重新创建单元格/行,它会用值/覆盖先前创建的单元格/
  • @kiwiwings :很好,行内的单元格是空的。制作了一个行复制功能来复制该行的所有单元格并且它起作用了。 :) 多谢。 :) 谢谢 MichaelArdan,很好的提示,解决了我的问题。

标签: java excel apache-poi fileoutputstream


【解决方案1】:

行内的单元格是空的。制作了一个行复制功能来复制该行的所有单元格并且它起作用了。 :) 多谢。 :) 感谢 MichaelArdan,很好的提示,解决了我的问题

【讨论】:

    猜你喜欢
    • 2020-07-12
    • 2014-07-29
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 2013-08-22
    • 2014-01-17
    相关资源
    最近更新 更多