java使用freemarker导出复杂的excel表格

正常导出excel表格使用的poi,但是导出复杂的excel有点困难,但是可以使用freemaker模板来导出复杂的excel。

  • 都是先生成一个Excel表格的模板,最好是增加一行数据。具体看图里面的步骤。
    在这里插入图片描述

  • 项目整体结构
    在这里插入图片描述

  • 下面就直接看代码

public class Data {
//代码复制之后直接就可以运行了
    public static void main(String[] args) {
        demo();
    }

    public static void demo() {
        // 项目下的template路径
        String path = new File("").getAbsolutePath() + "\\template";
        Map<String, Object> map = new HashMap<String, Object>();
        // 模板所在的路径
        map.put("tempFoldPath", path);
        // 生成的路径
        map.put("file", path + "/采购订单.xls");
        // 模板名称
        map.put("tampPath", "采购订单.ftl");
        // 最后生成的表格的名称
        map.put("excelName", "采购订单-" + "Demo" + ".xls");
        // 封装数据
        Map<String, Object> exlParam = new HashMap<>();
        exlParam.put("findList", new Data().list());
        // 调用方法,返回浏览器访问的地址
        String downloadUrl = ExportExcelUtil.exportExcel(map, exlParam);
    }

    // 自己造假数据,正常来说都是从数据库查询出来拼装数据的
    public List<Purbill> list() {
        List<Purbill> purbillList = new ArrayList<>();
        purbillList.add(new Purbill("1", "2", "名称", "采购名称", "规格参数", "参数指标", "场地", "10吨", 10, 20.2, 220.2, "品牌"));
        return purbillList;
    }

}

class Purbill {
    private String bidId;
    private String billno;
    private String categoryName;
    private String purname;
    private String specparams;
    private String paramnorm;
    private String productAddress;
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值