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,一经查实,立即删除!

相关文章

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

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

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

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

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

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

WPF-10 逻辑树和可视化树

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

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

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

node安装问题

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

通过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.可以使…

ASP.NET 多环境下配置文件web.config的灵活配置---转

注意:本功能在.Net Core中已经不可用,暂时需手动修改web.config中的信息,或者将其设置在appsettings.XXX.json中,然后再使用web.config中的环境变量来制定使用的具体appsettings文件。 转自:https://www.cnblogs.com/h…

Uranium UI Kit

Uranium UI Kit控件名:Uranium UI Ki作者:enisn原文链接: https://github.com/enisn/UraniumUI项目使用 Apache-2.0 开源许可协议。Uranium 是用于 .NET MAUI 的免费和开源 UI 工具包。它提供了一组控件和实用程序来构建现代应用程序。它建…

《Java多线程编程核心技术》读后感(十五)

线程的状态 线程对象在不同的运行时期有不同的状态,状态信息就存在与State枚举类中。 验证New,Runnable,Terminated new:线程实例化后还从未执行start()方法时的状态 runnable:线程进入运行的状态 terminated:线程被销毁时的状态 …

队列(queue)

队列(queue)和栈一样支持push和pop两个操作。但与栈不同的是,pop两个操作。但与栈的不同的是,pop完成的不是取出最顶端的元素,而是最底端的元素。也就是说最初放入的元素能够最先被取出(这种行为被叫做FIFO:First In First Out,即…

一题多解,ASP.NET Core应用启动初始化的N种方案[上篇]

ASP.NET Core应用本质上就是一个由中间件构成的管道,承载系统将应用承载于一个托管进程中运行起来,其核心任务就是将这个管道构建起来。在ASP.NET Core的发展历史上先后出现了三种应用承载的编程方式,而且后一种编程模式都提供了针对之前编程…

WPF 简单模仿 VSCode 界面布局

WPF 简单模仿 VSCode 界面布局本文经原作者授权以原创方式二次分享,欢迎转载、分享。WPF 简单模仿 VSCode 界面布局作者:弈虎-吕女士会翻墙原文链接: https://github.com/Chen-Lin-Zhao-Wei/WPFLikeVSCode分享一篇群友这几天自己写的 WPF 简…

compare()方法+使用compare方法

compare()方法 compare(lob1,lob2,amount,offset_1,offset_2) 1用于比较2个lob存储的数据,比较的方式是从指定偏移量开始,对指定数量的字符或者字节进行比较。 2如果比较内容相同,返回0,否则返回-1或1. 3如果参数设置有误或不合…