3

在日常使用Excel软件办公时,通常会产生很多文档。当我们需对其中的数据进行整理和统计时,对文档进行合并处理将能够大大提高操作效率。一般文档合并可分为两种情况:一是将同一个Excel文档内多张工作表的数据合并到一张工作表;二是将多个Excel文档合并到一个Excel文档。本文就将通过使用Java程序来演示以上两种文档合并的情况。

使用工具:Free Spire.XLS for Java(免费版)

Jar文件获取及导入:

方法1:通过官网下载获取jar包。解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序。(如下图)
安装图.png
方法2:通过maven仓库安装导入。具体安装教程详见此网页

【示例1】合并Excel工作表

原文档截图:

源文档1.png

代码示例:

import com.spire.xls.*;  
  
public class MergeWorksheet2 {  
    public static void main(String[] args) {  
        //创建workbook实例  
  Workbook workbook = new Workbook();  
        //加载Excel文档  
  workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.xlsx");  
  
        //获取第一个工作表  
  Worksheet sheet1 = workbook.getWorksheets().get(0);  
  
        //获取第二个工作表  
  Worksheet sheet2 = workbook.getWorksheets().get(1);  
  
        //将工作表2中的数据连同格式复制到工作表1中  
  sheet2.getAllocatedRange().copy(sheet1.getRange().get(sheet1.getLastRow() +1, 1));  
  
        //保存文档  
  workbook.saveToFile("output/MergeWorksheets.xlsx", ExcelVersion.Version2013);  
    }  
}

合并效果:

效果1.png

【示例2】合并Excel文档

原文档截图:

源文档2.png

代码示例:

import com.spire.xls.*;  
  
public class MergeFiles {  
    public static void main(String[] args) {  
        //将待合并Excel文档的名称保存至字符串数组  
  String[] inputFiles = new String[]{"C:\\Users\\Test1\\Desktop\\File1.xlsx","C:\\Users\\Test1\\Desktop\\File2.xlsx"};  
  
        //创建一个新的Excel文档  
  Workbook newBook = new Workbook();  
        //清除默认的3张工作表  
  newBook.getWorksheets().clear();  
  
        //创建另一个Excel文档  
  Workbook tempBook = new Workbook();  
  
        //遍历数组,依次加载每个Excel文档并将文档中的所有工作表复制到新建的Excel文档中  
  for (String file : inputFiles)  
        {  
            tempBook.loadFromFile(file);  
            for (Worksheet sheet : (Iterable<Worksheet>)tempBook.getWorksheets())  
            {  
                newBook.getWorksheets().addCopy(sheet, WorksheetCopyType.CopyAll);  
            }  
        }  
  
        //保存  
  newBook.saveToFile("output/MergeFiles.xlsx", ExcelVersion.Version2013);  
    }  
}

合并效果:

效果2.png

(本文完)


Tina_Tang
298 声望9 粉丝