Beetl模版引擎

Beetl模版引擎

0.简介

  本文只简单介绍使用hutool中的BeetlUtil结合FileWriter实现模版文件的数据渲染

Beetl模版引擎网址:Beetl模版引擎
hutool网址:Hutool

  前提:pom引入hutool工具类

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>4.5.10</version>
</dependency>

1.编写模版文件

示例:

1.1 模版文件

文件路径:E:\model\easyModel.txt

#日期:${billDate}
#-----------------------------------------成绩列表----------------------------------------
姓名,年龄,成绩
<%
for(student in list){
%>
${student.name},'${student.id},${student.age},${student.score}
<% } %>
#-----------------------------------------成绩列表----------------------------------------
#导出时间:${time,dateFormat="yyyy-MM-dd HH:mm:ss"}

Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法;如果数字大于15位,它不仅用于科学技术法表示,还会只保留高15位,其他位都变0。所以需要在id这里加一个符合【'】

1.2 实体类:

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Student implements Serializable {

    private static final long serialVersionUID = -7271996307387758147L;

    private String name;
    
    private String id;

    private Integer age;

    private Integer score;

}

1.3 测试类

public static void main(String[] args) {

        String billDate = "2020-04-29";

        Map<String,Object> map = Maps.newHashMap();
        map.put("time",new Date());
        map.put("billDate",billDate);

        Student student1 = Student.builder().name("小李").age(18).score(90)
                .id("1005004171908261748056081").build();
        Student student2 = Student.builder().name("小白").age(19).score(99)
                .id("1005008601908261125575301").build();
        List<Student> list = Lists.newArrayList();
        list.add(student1);
        list.add(student2);
        map.put("list",list);

        String content = BeetlUtil.render("E:\\model\\","easyModel.txt",map);
        // 3.创建文件
        FileWriter writer = new FileWriter("E:\\model\\output.csv", CharsetUtil.CHARSET_GBK);
        writer.write(content);
    }

1.4 实际效果

6.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 4. Web集成 4.1. Web提供的全局变量 Web集成模块向模板提供web标准的变量,做如下说明 reque...
    西漠阅读 10,074评论 0 0
  • 一. Java基础部分.................................................
    wy_sure阅读 9,246评论 0 11
  • 第一阶段java基础复习 1.软件开发基础 1.1开发软件的目的 提高人个计算机之间的交互方式 1.2软件 软件=...
    allencaicai阅读 3,421评论 0 0
  • 你在我酣梦中寰宇, 拖着云霞颠沛流离, 微笑着从虚无来向繁花中去。 待这幻世分崩离析, 你在薄暮霜岚间消匿, 才知...
    美人愚阅读 3,638评论 2 0
  • 敬笃 残阳如血,冰雪融化在记忆的河道里,顺着历史 汇成一条神圣的河流。冬不拉的长韵绵远如额尔齐斯的长度 弯曲着延伸...
    山谷小道士阅读 3,652评论 0 1