在日常操作Excel文档时,经常会遇到需要复制工作表的情况,以此来节省时间,提高工作效率。根据复制需求不同,一般我们可将其分为以下两类:

1、复制工作表(保留原有工作表格式)

① 在同一个文档内复制工作表

② 在不同文档间复制工作表

2、复制单元格

① 复制指定单元格数据(保留原有单元格格式)

② 复制带有公式的单元格时只保留公式值

同时,对于复制方法copy(),以下是包含了对数据复制的不同应用方法的表格,可供参考:

环境搭建:

方式1:通过官网下载Jar包。解压文档后将lib文件夹下的Spire.Xls.jar导入IDEA中。具体操作步骤参见下图。

方式2:通过maven安装产品及导入相关依赖。详细步骤可参考此教程。

代码示例

1、复制工作表

① 在同一文档内复制工作表

importcom.spire.xls.*;

public classCopyWorksheet1 {

publicstatic void main(String[] args) {

//加载文档

Workbook wb = newWorkbook();

wb.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.xlsx");

//获取第一张工作表

Worksheet sheet0 = wb.getWorksheets().get(0);

//获取第二张工作表,命名,并将第一张工作表内容复制到该工作表

Worksheet sheet2 = wb.getWorksheets().get(1);

sheet2.setName("Copiedsheet");

sheet2.copyFrom(sheet0);

//保存文档

wb.saveToFile("output/Copy1.xlsx",FileFormat.Version2013);

}

}

复制效果:

② 在不同文档间复制

importcom.spire.xls.*;

public classCopyWorksheet2 {

public static voidmain(String[] args) {

//加载文档1,并获取第一张幻灯片

Workbook wb1 = newWorkbook();

wb1.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.xlsx");

Worksheet sheet1 = wb1.getWorksheets().get(0);

//加载文档2,获取第二张幻灯片,并将文档1中的工作表内容复制到该工作表

Workbook wb2 = newWorkbook();

wb2.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample2.xlsx");

Worksheet sheet2 = wb2.getWorksheets().get(1);

sheet2.setName("Copied");

sheet2.copyFrom(sheet1);

//保存文档

wb2.saveToFile("output/Copy2.xlsx",FileFormat.Version2013);

}

}

复制效果:

2、复制单元格

① 直接复制单元格数据范围

importcom.spire.xls.*;

public classCopyCells1 {

public static voidmain(String[] args) {

//加载文档

Workbook wb = newWorkbook();

wb.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.xlsx");

//获取第一个工作表

Worksheet sheet = wb.getWorksheets().get(0);

//复制指定单元格范围中的数据

CellRange range1 = sheet.getCellRange(11,1,17,3);

CellRange range2 = sheet.getCellRange(20,1,26,3);

sheet.copy(range1,range2,true);

//保存文档

wb.saveToFile("output/CopyCells1.xlsx",FileFormat.Version2013);

}

}

复制效果:

② 复制带公式的单元格时只保留公式值

importcom.spire.xls.*;

importjava.util.EnumSet;

public classcopycell {

public static voidmain(String[] args) {

//加载Excel工作簿

Workbook wb = newWorkbook();

wb.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.xlsx");

//获取工作表

Worksheet sheet = wb.getWorksheets().get(0);

//设置复制单元格选项为仅复制公式值

CopyRangeOptions copyOptions = CopyRangeOptions.OnlyCopyFormulaValue;

//复制指定单元格到目标单元格

sheet.copy(sheet.getCellRange("F3:F18"), sheet.getCellRange("K3:K18"), EnumSet.of(copyOptions));

//保存文档

wb.saveToFile("output/CopyCellsValue.xlsx",FileFormat.Version2013);

wb.dispose();

}

}

复制效果:

(本文完)

java copysheet_Java 复制Excel工作表相关推荐

  1. java 复制excel_Java 复制Excel工作表

    本文归纳了关于Java如何复制Excel工作表的方法,按不同复制需求,可分为: 1. 复制工作表 1.1 在同一个工作簿内复制工作表 1.2 在不同工作簿间复制工作表 2. 复制指定单元格数据 对于复 ...

  2. C# 原样复制excel工作表

    在Excel中,工作表是工作薄的组成部分,一个工作薄可以由一个或多个工作表组成,一个工作薄也可以说是一个Excel文档,正因为如此,Excel工作表的复制也就分为两种类型:在同一文档之内复制和在不同文 ...

  3. C# 复制Excel工作表(同一个工作簿内进行复制,跨工作簿复制)

    C# 如何复制Excel工作表(worksheet) 将介绍如何在Excel中复制工作表,复制的方法分为两种情况来阐述,一种是在同一个工作簿内进行复制,另一种是跨工作簿复制. 一. 在同一个工作簿内复 ...

  4. java打印表,Java实现打印Excel工作表

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. 本文介绍如何通过Java程序打印Excel工作表. 可通过以下方法打印:  1 ...

  5. QT 复制excel工作表

    参考https://www.qtcentre.org/threads/51719-copy-move-excel-sheet-with-QT 使用如下: QAxObject* myexcel = ne ...

  6. excel链接隐藏工作表_自动隐藏Excel工作表

    excel链接隐藏工作表 When you build a workbook for other people to use, there might be worksheets that can s ...

  7. java实现复制excel模板(多个工作表)并下载的代码

    java实现复制excel模板(多个工作表)并下载的代码 项目心得 最近在开发项目的过程遇到一个需求需要把一个档案的信息导入到excel中,并实现下载功能,经过借鉴别人的代码,拍坑,历经磨难终于把这个 ...

  8. 如何使用C#复制或移动Excel工作表?试试Aspose

    在某些情况下,可能需要将工作表复制到Excel工作簿中,或从一个工作簿复制到另一个工作簿.另一方面,在不同的情况下,也需要移动工作表以更改其在工作簿中的位置.为了以编程方式执行上述任务,本文介绍了如何 ...

  9. python excel sheet 复制_使用Python win32com将整个excel工作表复制到新工作表

    我试图打开名为"N11 Result.xlsx"的现有工作簿.复制整个工作表"Sheet1"(将其重命名为"build with Python&quo ...

最新文章

  1. springmvc常用注解标签详解
  2. 基于jwt的用户登录认证
  3. 说一说MVC的CSRF(三)
  4. Spring boot正常启动,访问却报“找不到 localhost 的网页”错误;jpa执行没有数据...
  5. 基于MeanShift的目标跟踪算法及实现
  6. MySQL自动备份shell脚本
  7. redis持久化功能
  8. html5文档加载前调用函数,html调用javascript外部文件显示函数未定义
  9. Latex 中文使用方法和示例——分别基于MiKTeX(CTeX套装)、TeXLive 编译系统测试CJK、ctex 宏包,PDFLaTeX、XeLaTeX编译命令及GBK、UTF-8文件编码的使用
  10. 如何拥有一个游戏策划的思维
  11. 第四周作业上(2014.3.31)
  12. IDEA创建java项目src下没有办法创建包文件/MAVEN模块名变灰且模块多道横杠
  13. 酒友app软件开源平台
  14. Hashcat 使用教程
  15. 【转】linux服务器的Gzip文件压缩方法
  16. qsort 用法详解
  17. sci论文分区是看中科院还是JCR
  18. 谷歌浏览器修复一键修复_谷歌:Chrome浏览器用户尽需快升级以修复漏洞!
  19. ipad有必要用手写笔吗,哪个平板电脑触控笔最好用
  20. 2022年6月英语六级作文范文

热门文章

  1. 【用户画像】用户画像简介、用户画像的架构、搭建用户画像管理平台
  2. https协议上传文件
  3. 传入中文,返回英文操作名
  4. IRS中波束赋形设计源代码之AO算法学习(持续更新,多多交流)
  5. SystemVerilog学习-04-验证环境组件、任务和函数
  6. CTF_Web:php伪随机数mt_rand()函数+php_mt_seed工具使用
  7. 【面试智力题】你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量+1,只称量一次,如何判断哪个罐子的药被污染了?
  8. win7 时间和时区修改不了的问题
  9. Ecxel数据导入Oracle 数据库中
  10. “道路”转向“街道”的活力街区建设