Java 打开Excel文件,并在原文件指定单元格修改完,将原文件保存,不产生新的excel文件

Java 打开Excel文件,并在原文件指定单元格修改完,将原文件保存,不产生新的excel文件.

我看了很多解释,都是在说如何将excel文件数据迁移到新的excel上的,那有没有就只是打开一个excel,然后修改,然后就保存这个excel呢?不产生新的文件,我就只是想修改更新原文件而已.

阅读 4.5k
2 个回答

看了楼主的问题,我去看了看网上相关的帖子,总结了一下。
一般来说,读取文件之后,进行业务处理,都会生成一个新的文件来存储更新的数据结果。这样做是为了保留原有文件不受影响。当然从技术上来讲写回原文件肯定是可以的,基本思路就是:指定写回文件或输出流时,仍选择原文件即可。
拿HSSFWorkbook举例上个简单的代码。

public static void main(String[] args) {
    try{
        //读取文件
        File file = new File("你的文件路径 + 文件名");
        FileInputStream fis = new FileInputStream(file);
        //加载到workbook类中
        HSSFWorkbook workbook = new HSSFWorkbook(fis);
        
        //业务逻辑
        
        //写回文件 注意,选择同一个文件即可实现覆盖写回 
        workbook.write(file);
        //关闭流
        fis.close();
    }catch (Exception e){
        e.printStackTrace();
    }
}

那就直接write回原文件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题