Java通过模板替换实现excel的传参填写

以模板为例子

将上面$转义的内容替换即可

java 复制代码
package com.gxuwz.zjh.util;

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.stereotype.Component;

/**
 * @author FangZenglin
 * @date 2023年10月12日17:27
 */
@Component
public class ExcelZiDongTian {
    public  void xieexcel_qitajia(String exceldizhi,
                                  String danwei,
                                  String xingming,
                                  String date,
                                  String zhiwu,
                                  String shiyou,
                                  String leixing,
                                  String baocundizhi) throws IOException {

        FileInputStream templateFile = new FileInputStream(exceldizhi);
        Workbook workbook = new XSSFWorkbook(templateFile);
        templateFile.close();

        Sheet sheet = workbook.getSheetAt(0);

        Map<String, String> data = new HashMap<>();
        data.put("danwei", danwei);
        data.put("xingming", xingming);
        data.put("date", date);
        data.put("zhiwu", zhiwu);
        data.put("shiyou", shiyou);
        data.put("leixing", leixing);
        for (Row row : sheet) {
            for (Cell cell : row) {
                String cellValue = cell.getStringCellValue();
                if (cellValue.startsWith("$")) {

                    String key = cellValue.substring(1);

                    if (data.containsKey(key)) {
                        cell.setCellValue(data.get(key));
                    }
                }
            }
        }

        FileOutputStream outputStream = new FileOutputStream(baocundizhi);
        workbook.write(outputStream);
        workbook.close();
    }


    public  void xieexcel_nianjia(String exceldizhi,
                                  String danwei,
                                  String shoucigongzuonianyue,
                                  String gongling,
                                  String quxiang,
                                  String xingming,
                                  String date,
                                  String zhiwu,
                                  String leixing,
                                  String baocundizhi) throws IOException {

        FileInputStream templateFile = new FileInputStream(exceldizhi);
        Workbook workbook = new XSSFWorkbook(templateFile);
        templateFile.close();

        Sheet sheet = workbook.getSheetAt(0);

        Map<String, String> data = new HashMap<>();
        data.put("danwei", danwei);
        data.put("xingming", xingming);
        data.put("date", date);
        data.put("zhiwu", zhiwu);
        data.put("quxiang", quxiang);
        data.put("shoucigongzuonianyue",shoucigongzuonianyue);
        data.put("gongling",gongling);
        data.put("leixing", leixing);
        for (Row row : sheet) {
            for (Cell cell : row) {
                String cellValue = cell.getStringCellValue();
                if (cellValue.startsWith("$")) {

                    String key = cellValue.substring(1);

                    if (data.containsKey(key)) {
                        cell.setCellValue(data.get(key));
                    }
                }
            }
        }


        FileOutputStream outputStream = new FileOutputStream(baocundizhi);
        workbook.write(outputStream);
        workbook.close();
    }
}
相关推荐
apocelipes2 小时前
golang unique包和字符串内部化
java·python·性能优化·golang
Full Stack Developme3 小时前
java.text 包详解
java·开发语言·python
刘梦凡呀4 小时前
C#获取钉钉平台考勤记录
java·c#·钉钉
best_virtuoso4 小时前
PostgreSQL 常见数组操作函数语法、功能
java·数据结构·postgresql
yudiandian20144 小时前
02 Oracle JDK 下载及配置(解压缩版)
java·开发语言
楚韵天工5 小时前
宠物服务平台(程序+文档)
java·网络·数据库·spring cloud·编辑器·intellij-idea·宠物
helloworddm5 小时前
Orleans Stream SubscriptionId 生成机制详解
java·系统架构·c#
失散135 小时前
分布式专题——43 ElasticSearch概述
java·分布式·elasticsearch·架构
ajsbxi5 小时前
【Java 基础】核心知识点梳理
java·开发语言·笔记
聪明的笨猪猪5 小时前
Java JVM “调优” 面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试