【问题标题】:POI error openning excel after removing a sheet删除工作表后 POI 错误打开 Excel
【发布时间】:2013-12-16 10:08:16
【问题描述】:

我需要从工作簿中删除第一张工作表(工作表数 > 1)。

这是我的代码:

inputStreamExcel = new FileInputStream(path);
wrkbook = new XSSFWorkbook(inputStreamExcel );

wrkbook .removeSheetAt(0);
outputStreamExcel = new FileOutputStream(path);             
wrkbook.write(outputStreamExcel );      
outputStreamExcel .flush();
outputStreamExcel .close();

我没有遇到任何异常。 但是当我尝试打开 excel 文件时出现错误:

excel 发现不可读的内容...

【问题讨论】:

    标签: java excel apache-poi


    【解决方案1】:

    在删除第一个工作表后再次尝试设置活动工作表:

    ...
    wrkbook.removeSheetAt(0);
    wrkbook.setActiveSheet(0);
    ...
    

    这应该可以解决问题。

    【讨论】:

    • 我认为它解决了它,我会在接受这个答案之前运行更多的测试场景。谢谢。
    【解决方案2】:

    当您的excel没有正确保存时会发生此错误, 可能您可能想在保存时检查current selected/active cell 没有指向空行,或者active sheet 不为空

    【讨论】:

    • 活动单元格是什么意思?
    • 活动单元格表示当前选定的单元格。也需要在删除当前工作表之前/之后(无论有效)更改活动工作表
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多