多excel合并到一个sheet

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





}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值