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.pswp.cn/news/281874.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281874.shtml
英文地址,請注明出處:http://en.pswp.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.可以使…