<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.office.free</artifactId>
<version>5.3.1</version>
</dependency>
```
```java
package org.jeecg.common.util;
import cn.hutool.core.io.FileUtil;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import java.io.File;
import java.util.List;
/**
* Excel合并工具类
*/
public class ExcelMergeUtil {
//合并多个excel 的第一个sheet到同一个excel的sheet
public static void main(String[] args) {
String outputFile = "D:\\excel\\easypoi\\meger\\bt\\output.xls";
录入需要合并的Excel文件的路径
// String[] inputFiles = new String[]{"D:\\excel\\easypoi\\meger\\1.xls", "D:\\excel\\easypoi\\meger\\2.xls", "D:\\excel\\easypoi\\meger\\3.xls", "D:\\excel\\easypoi\\meger\\4.xls"};
// 录入需要合并的Excel文件的路径
// //加载Excel文档
// List<String> inputFilesList = Arrays.asList(inputFiles);
// Collections.reverse(inputFilesList);
String inpuFilePath = "D:\\excel\\easypoi\\meger\\bt\\";
List<File> files = FileUtil.loopFiles(inpuFilePath);
// List<String> fileNames = FileUtil.listFileNames(inpuFilePath);
megerExcel(files, outputFile);
}
/**
* 合并多个excel
* 只合并第一个sheet页
* 只会打印在第一页
* @param inputFiles
* @param outputFile
*/
public static void megerExcel(List<File> inputFiles, String outputFile) {
if(!FileUtil.exist(outputFile)){
FileUtil.touch(outputFile);
}
Workbook workbook = new Workbook();
for (File file : inputFiles)
{
//创建workbook实例
workbook.loadFromFile(outputFile);
Worksheet sheetBase =workbook.getWorksheets().get(0);
workbook.loadFromFile(file.getAbsolutePath());
Worksheet sheet1 = workbook.getWorksheets().get(0);
sheetBase.getAllocatedRange().copy(sheet1.getRange().get(sheet1.getLastRow() +1, 1)); //保存文档
workbook.saveToFile(outputFile, ExcelVersion.Version2013);
}
}
}
多excel合并到一个sheet
于 2024-07-22 16:03:59 首次发布