zoukankan      html  css  js  c++  java
  • Excel的Sheet页复制

    最近在做一个项目,其中涉及基于模板对Excel的Sheet页进行复制。在网上尝试了很多,发现都不够完美,苦恼。

    然后在查阅资料的过程中,发现有一篇提及,POI的API只对同一个Excel文件中的Sheet页复制提供了支持,没有对跨文件复制进行支持。看到这句话我很奇怪,同一个文件和跨文件有什么不同么,不都是对文件的读写。

    等等,好像是想多了,不然以POI小分队的能力不会不支持的。

    于是有了下面的代码。

    try (HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream("C:\demo.xls")))) {
                HSSFWorkbook wbNew = new HSSFWorkbook();
                Sheet sheetNew = wb.createSheet("票据1");
                sheetNew = wb.cloneSheet(0);
                wb.setSheetName(1, "票据0");

    try (FileOutputStream fileOut = new FileOutputStream("C:\票据1.xls")) { wb.write(fileOut); } } catch (IOException e) { e.printStackTrace(); }

    所谓复制到新文件嘛。用新的输出流写不就行了嘛。不过这个方法有两个问题。第一,不能设置新Sheet页的名字。第二,不支持xlsx文件。对我来说这都不是问题。实际还有第三个问题,多个文件中的内容复制到同一个文件中不知道行不行。想来是可以的,手工编辑一下模板就可以了。最后,建议使用C#编写三件套的应用,用Java调就行了。

  • 相关阅读:
    Python冒泡算法和修改配置文件
    第五章:处理数据
    第四章:持久存储
    Python之打印99乘法表
    Python之编写登录接口
    Python之文件操作
    第三章:文件与异常
    FineUI 修改config表属性
    FineUI Grid中WindowField根据列数据决定是否Enalble
    表之间不同字段的数据复制
  • 原文地址:https://www.cnblogs.com/xhr8334/p/7631587.html
Copyright © 2011-2022 走看看