您好,登錄后才能下訂單哦!
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倉庫路徑配置及依賴添加可以參考教程。導入效果如下圖:
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); }}
復制效果:
【示例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); }}
復制效果:
【示例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); }}
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。