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调就行了。

  • 相关阅读:
    eclipse 直接向cloudfoundry部署应用
    jenkins slave节点服务 之 标签
    cloud foundry 中 url map/unmap
    公司Oracle生产库某用户中毒【AfterConnect.sql】
    怎样在 Linux 上查看某个端口的相关信息?
    怎样修改 VS Code 主题?
    怎样安装并编译TypeScript?
    怎样坚持写博客?
    第一个shell脚本
    python处理excel之读:xlrd模块
  • 原文地址:https://www.cnblogs.com/xhr8334/p/7631587.html
Copyright © 2011-2022 走看看