1. 程式人生 > 其它 >Java使用Excel模板匯出檔案,併合並

Java使用Excel模板匯出檔案,併合並

Java使用Excel模板匯出檔案,併合並

使用Excel模板匯出檔案感謝大神 吃茫茫@chimmhuang 的分享chimm.excel: chimm.excel 是一款能夠簡單操作 excel 的程式,該程式提供瞭如:填充excel模板資料、動態更改表格樣式、匯出excel等功能,降低了我們對excel的操作難度 (gitee.com)

合併Excel功能轉自 Java使用POI實現多個excel合併成一個excel朱友斌的部落格-CSDN部落格java合併多個excel

1、pom中引入chimmhuang

<dependency>
           <groupId>com.github.chimmhuang</groupId>
           <artifactId>chimm.excel</artifactId>
           <version>1.2.0</version>
       </dependency>

2、方法類

package com.ruoyi.components.controller;

import com.github.chimmhuang.excel.ExcelHelper;
import com.github.chimmhuang.excel.tablemodel.ExcelWorkbook;
import com.github.chimmhuang.excel.tablemodel.SheetTable;
import org.apache.commons.io.FileUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.*;

import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

/**
* Created by xialing on 2022/5/12
*/
public class ExcelUtils {
   /**
    *
    * @param path   模板附件路徑
    * @param sheet   模板sheet編號(從0開始)
    * @param dataMap 資料內容
    * @param hs     當前模板總行數(有多個動態表格時要根據這個值要確定存放位置)
    * @param ywzbid 檔名稱
    */
   public static void createExcel(String path, int sheet, Map<String,Object> dataMap, int hs, String ywzbid){
       try {
           File file = new File(path);
           byte[] bytes = FileUtils.readFileToByteArray(file);

           // 通過 ExcelHelper 獲取 excel 表格物件
           ExcelWorkbook excelWorkbook = ExcelHelper.createWorkbook(bytes);
           // 獲取指定的 sheet 頁(該物件即是我們設定好的表格模板)
           SheetTable table = excelWorkbook.getSheet(sheet);

           //動態設定表格
           int addrow = 0;
           for (String key : dataMap.keySet()) {
               if(key.contains("WZ")){
                   String wz =  dataMap.get(key).toString();
                   List<Map<String,Object>> list = (List<Map<String, Object>>) dataMap.get(key.substring(