Java 複製Excel工做表

本文概括了關於Java如何複製Excel工做表的方法,按不一樣複製需求,可分爲:html

1. 複製工做表java

   1.1 在同一個工做簿內複製工做表maven

   1.2 在不一樣工做簿間複製工做表spa

2. 複製指定單元格數據3d

對於複製方法copy(),這裏簡單整理了一個表格,其中包含了對數據複製的不一樣應用需求,可參考使用:code

方法orm

解釋htm

copyFrom(Worksheet worksheet)blog

複製自源工做表的數據教程

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);
    }
}

複製結果:

 

(本文完)

相關文章
相關標籤/搜索