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

  • 相关阅读:
    Call to a member function assign() on a non-object;thinkphp中报错
    jquery或js 获取url参数
    使Sublime Text支持除UTF8外多种编码
    Sublime Text 3 安装Package Control
    jquery zoom jquery放大镜特效
    金币阵列问题
    goole进不去?
    算法分析习题(1)
    C /C ++中结构体的定义
    linux .zip 解压命令集
  • 原文地址:https://www.cnblogs.com/xhr8334/p/7631587.html
Copyright © 2011-2022 走看看