POI 根据模版导出,多sheet数据

文章介绍了一种使用Java进行模板导出Excel的方法,包括设置参数、定义表达式如三目运算、条件判断、格式化时间和数字,以及数据遍历等。示例代码展示了如何创建和写入数据到Excel文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义模版

以下列举所有表达式:

表达式描述/示例
三目运算{{test ? obj:obj2}}test如果某一个字段,则该字段一定是布尔类型,如果一个表达式,如arg == 1则一定要带有空格
n:这个cell是数值类型 {{n:}}
le:代表长度{{le:()}} 在if/else 运用{{le:() > 8 ? obj1 : obj2}}
fd:格式化时间 {{fd:(obj;yyyy-MM-dd)}}
fn:格式化数字 {{fn:(obj;###.00)}}
fe:遍历数据,创建row
!fe遍历数据不创建row
$fe:下移插入,把当前行,下面的行全部下移.size()行,然后插入
#fe:横向遍历
v_fe:横向遍历值
!if:删除当前列 {{!if:(test)}}
单引号表示常量值 ‘’ 比如’1’ 那么输出的就是 1
&NULL&空格
]]换行符 多行遍历导出

第一页

在这里插入图片描述

第二页

在这里插入图片描述

JAVA代码

开启配置

 		TemplateExportParams params = new TemplateExportParams("F:\\java\\static\\meter\\测试.xlsx");
        // 核心配置,默认false,所以需要手动设置
        params.setScanAllsheet(true);

示例代码

 public static void main(String[] args) {
        TemplateExportParams params = new TemplateExportParams("F:\\java\\static\\meter\\测试.xlsx");
        // 核心配置,默认false,所以需要手动设置
        params.setScanAllsheet(true);
        System.out.println(params.getDataSheetNum());
        HashMap<String, Object> data = new HashMap<>();

        HashMap<String, String> list1 = new HashMap<>();
        list1.put("name","李四");
        list1.put("error","李四异常信息");

        HashMap<String, String> list2 = new HashMap<>();
        list2.put("name","张三");
        list2.put("error","张三异常信息");

        data.put("list", Arrays.asList(list1));
        data.put("list2",Arrays.asList(list2));

        FileOutputStream fileOutputStream = null;
        try {
            fileOutputStream = new FileOutputStream(new File("F:\\java\\static\\meter\\data.xlsx"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        Workbook workbook = ExcelExportUtil.exportExcel(params, data);
        try {
            workbook.write(fileOutputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

效果

第一页

在这里插入图片描述

第二页

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值