java 复制excel_Java 复制Excel工作表

本文归纳了关于Java如何复制Excel工作表的方法,按不同复制需求,可分为:

1. 复制工作表

1.1 在同一个工作簿内复制工作表

1.2 在不同工作簿间复制工作表

2. 复制指定单元格数据

对于复制方法copy(),这里简单整理了一个表格,其中包含了对数据复制的不同应用需求,可参考使用:方法解释

copyFrom(Worksheet worksheet)复制自源工作表的数据

copy(CellRange sourceRange, CellRange destRange)复制源数据到目标数据范围

copy(CellRange sourceRange, CellRange   destRange, Boolean copyStyle)复制源数据到目标数据范围时,是否复制源数据样式

copy(CellRange sourceRange, Worksheet   worksheet, int destRow, int destColumn)复制源数据到目标工作表中的指定行和列

copy(CellRange sourceRange, Worksheet worksheet,   int destRow, int destColumn, Boolean copyStyle)复制源数据到目标工作表中的指定行和列时,是否复制源数据样式

copy(CellRange sourceRange, CellRange   destRange, Boolean copyStyle, Boolean updateReference, Boolean ignoreSize)复制源数据到目标数据范围时,是否复制源数据样式,是否更新引用,是否忽略大小

copy(CellRange sourceRange, Worksheet   worksheet, int destRow, int destColumn, boolean copyStyle, boolean   undateReference)复制源数据到目标工作表中的指定行和列时,是否复制源数据样式,是否更新引用

copy(CellRange sourceRange, CellRange   destRange, boolean copyStyle, boolean updateReference, boolean ignoreSize,   boolean copyShape)复制源数据到目标数据范围时,是否复制源数据样式,是否更新引用,是否忽略大小,是否复制形状

文中的方法使用了免费Java Excel类库(Free Spire.XLS for Java),可在官网下载包,解压后,将lib文件夹中的jar文件导入Java程序;或者通过maven仓库下载导入jar,maven仓库路径配置及依赖添加可以参考教程。导入效果如下图:

AAffA0nNPuCLAAAAAElFTkSuQmCC

Java代码示例

【示例1】在同一工作簿内复制import com.spire.xls.*;

public class Copy1 {

public static void main(String[] args) {

//加载文档

Workbook wb = new Workbook();

wb.loadFromFile("test.xlsx");

//获取第一张工作表

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

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

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

sheet2.setName("Copiedsheet");

sheet2.copyFrom(sheet0);

//保存文档

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

}

}

复制效果:

AAffA0nNPuCLAAAAAElFTkSuQmCC

【示例2】在不同工作簿间复制import com.spire.xls.*;

public class Copy2 {

public static void main(String[] args) {

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

Workbook wb1 = new Workbook();

wb1.loadFromFile("test1.xlsx");

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

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

Workbook wb2 = new Workbook();

wb2.loadFromFile("test2.xlsx");

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

sheet2.setName("Copied");

sheet2.copyFrom(sheet1);

//保存文档

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

}

}

复制效果:

AAffA0nNPuCLAAAAAElFTkSuQmCC

【示例3】复制单元格数据范围import com.spire.xls.*;

public class CopyRange {

public static void main(String[] args) {

//加载文档

Workbook wb = new Workbook();

wb.loadFromFile("test.xlsx");

//获取第一个工作表

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

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

CellRange range1 = sheet.getCellRange(8,1,8,7);

CellRange range2 = sheet.getCellRange(11,1,11,7);

sheet.copy(range1,range2,true);

//保存文档

wb.saveToFile("CopyRange.xlsx",FileFormat.Version2013);

}

}

复制结果:

AAffA0nNPuCLAAAAAElFTkSuQmCC

(本文完)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AngularDart 现已全面采用 Dart 开发

一直以来,Angular 2依然采用TypeScript作为主流开发语言,然后自动编译成JavaScript 和 Dart。Dart开发者一直在进行Angular 2拆分,将其分为TypeScript/JavaScript版本和Dart版本,并成立了AngularDart团队。 昨天,Angul…

Blazor学习之旅(4)数据共享

【Blazor】| 总结/Edison Zhou大家好,我是Edison。前几天没有发布本篇就发布了第五篇,属于操作失误哈,这次把第四篇补上!本篇,我们来了解下在Blazor中数据是如何共享的,组件之间又该如何传递参数。关于Blaz…

Zynq7000开发系列-5(OpenCV开发环境搭建:Ubuntu、Zynq)

操作系统:Ubuntu14.04.5 LTS 64bit OpenCV:OpenCV 3.1.0、opencv_contrib gcc:gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) arm-xilinx-linux-gnueabi-gcc:gcc version 4.9.2 (Sourcery CodeBench Lite 2015.05-17) 一、U…

# 20172307 2018-2019-1 《程序设计与数据结构》第5周学习总结

20172307 2018-2019-1 《程序设计与数据结构》第5周学习总结 教材学习内容总结 查找 1.线性查找:从该列表头开始依次比较每一个值,直至找到该目标元素。2.二分查找法:二分查找是从排序列表的中间开始查找,如果没有在那个中间元素则…

java 生成jni_Javah生成JNI头文件

在eclipse中建一项目,建一class1 packageesmart.colfile.parse;2 3 publicclassTestHello {4 static{5 System.loadLibrary("TestHello");6 }7 8 publicstaticnativevoidhello(String msg);9 10 publicstaticvoidmain(String[] args) {11 12 hello("…

IBM 的大型机 z Systems 引入 Go 语言

据 cbronline 报道,IBM 正把 Go 语言运用到旗下的大型机上。 IBM 将开源的 Go 语言引入到 z Systems 大型机后,可以给用户多一个的选择,即在大型机上使用 Linux 或基于 Go 的应用,同时也使大型机更加灵活。Go 语言在高并发的网络应…

WPF-10 逻辑树和可视化树

我们在WPF-03 资源之Resources结尾中介绍逻辑树和可视化树的基本概念,我们这节来介绍这两棵树逻辑树(Logical Tree)逻辑树是由每个控件的节点组成,本质上就是XAML文件中的UI元素,我们可以通过LogicalTreeHelper类提供的…

洛谷P4364 [九省联考2018]IIIDX(线段树)

传送门 题解看得……很……迷? 因为取完一个数后,它的子树中只能取权值小于等于它的数。我们先把权值从大到小排序,然后记$a_i$为他左边(包括自己)所有取完他还能取的数的个数。那么当取完一个点$x$的数之后&#xff0…

国产车崛起粉碎德日工业神话

由于二战战败,德国一大批顶尖人才被美苏瓜分,战败国地位和人才断层导致德国工业基本是第二次工业革命的产物,专精于机械、化工等传统行业,并有巴斯夫、拜尔、大众、戴姆勒、宝马等一批世界级企业。不过,德国世界级的IT…

java hibernate 分页查询_4 Hibernate HQL查询,分页查询

/*** HQL查询的一个例子*/public static void hql(){Session s null;try{s HibernateUtil.getSeesion();//final String hql "from User as u where u.name?";final String hql "from User as u where u.name:name";final Query query s.createQuery…

Linux -sed

sed ,查找sed -n /root/p passwd #列出passwd中有root的行 sed -nr /ot/p passwd #sed -r grep -E 都是进行脱意 sed -nr /0{2}/p passwd #匹配两次o的 sed -nr /root|bus/p passwd #匹配root 或者bus的 sed -n 2p passwd # 查找指定的行sed -n 2,5p passwd # 查找…

h5 端图片上传-模拟多张上传

1、由于后端的限制,上传图片到服务器只能的一张一张传2、显示图片预览是本地的图片3、根据服务器返回的结果拿到相应的路径保存到提交评论的接口中4、删除的时候,需要删除对应的路径,不要把删除的提交到评论的接口中 A、comment-detail.js va…

node安装问题

1.最好安装到默认路径,手贱安到了D盘,升级npm各种出错。 明明升级成功,查看版本时,确显示依然是老的版本。 原因:升级的是C盘的node_modules中的npm,执行时确是D盘node自带的npm,不知道为啥。。…

全新升级的AOP框架Dora.Interception[汇总,共6篇]

多年之前利用IL Emit写了一个名为Dora.Interception的AOP框架。前几天利用Roslyn的Source Generator对自己为公司写的一个GraphQL框架进行改造,性能得到显著的提高,觉得类似的机制同样可以用在AOP框架上,实验证明这样的实现方式不仅仅极大地改…

java string转decimal_java中string转bigdecimal的例子

小编知道在java中数据类型非常 的严格了,我们如果一个地方不小心就会导致应用出问题了,今天 小编就在string 转BigDecimal上碰到了一些问题,下面整理了几个例子大家一起来看看。例子1,string 转BigDecimalpublic class Test{public static vo…

通过url来设置log4j的记录级别

2019独角兽企业重金招聘Python工程师标准>>> 直接看代码。 import org.apache.log4j.AppenderSkeleton; import org.apache.log4j.Level; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotati…

通过用户模型,对数据库进行增删改查操作

增加:user db.session.add(user)db.session.commit() #增加 user User(username JACKSON,password0328 ) db.session.add(user) db.session.commit() 查询:User.query.filter(User.username mis1114).first() #查询 userUser.query.filter(User.usern…

Android OpenGL ES(七)----理解纹理与纹理过滤

1.理解纹理 OpenGL中的纹理能够用来表示图像。照片,甚至由一个数学算法生成的分形数据。每一个二维的纹理都由很多小的纹理元素组成。它们是小块的数据,类似于我们前面讨论过的片段和像素。要使用纹理,最经常使用的方式是直接从一个图像文件载…

WPF 基础控件之托盘

WPF 基础控件之托盘控件名:NotifyIcon作者: WPFDevelopersOrg - 吴锋|驚鏵原文链接: https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40。Visual Studio 2022。项目使用 MIT 开源许可协议。新建NotifyIcon自定义…

java 匿名 异常_JAVA类(内部类、匿名内部类、异常、自定义异常)

内部类package AA;public class类 {int de123;StringBuffer deenewStringBuffer();public class成员内部类{public voidff() {System.out.println("这是成员内部类方法");}}/*1.可以访问外部类所有的成员,包括被声明为私有(private)的;2.可以使…