Java生成word通报(使用echart、poi-tl、PhantomJS)

Java生成word通报(使用echart、poi-tl、PhantomJS)

前段时间客户需要系统自动生成服务通报,word文档中要有图片、表格、文字。第一次做这种通报,项目经理又想用以前的方式,只好找新技术、新方法去实现这个功能。希望能帮到有需要的人

poi-tl介绍
使用Java导出Word一般用POI,但是用POI来导出Word,要写大量的段落、样式等细节代码,代码多且不易维护。通过 poi-tl 只需要制作导出的模版,服务端基本一行代码调用,传入模版路径和Map或者Bean即可生成Word模版,代码量大大降低,以后导出样式不满意的时候,只需要修改Word模版文件即可。但是poi-tl比较新,且只能生成 docx 文件,对word2007之前的 doc 文档不支持。
关于poi-tl的更多信息可在https://github.com/Sayi/poi-tl这里仔细学习,技术较新,但使用方便。

首先下载poi-tl包,并导入工程中。这里注意,如果工程里有poi3.15的包最好替换掉,最起码要poi3.16才行。
代码实例如下:

/**
 * 测试的bean.
 * @author 
 */
public class Travel {
   

    private String title;

    private String smallTitle;

    private String startDate;

    private String endDate;

    private int count;

    private double money;

    private String place1;

    private String place2;

    private PictureRenderData pic;

    /**
     * 构造方法.
     */
    public Travel() {
        super();
    }

    /*getter和setter方法.*/

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getSmallTitle() {
        return smallTitle;
    }

    public void setSmallTitle(String smallTitle) {
        this.smallTitle = smallTitle;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public double getMoney() {
        return money;
    }

    public void setMoney(double money) {
        this.money = money;
    }

    public String getPlace1() {
        return place1;
    }

    public void setPlace1(String place1) {
        this.place1 = place1;
    }

    public String getPlace2() {
        return place2;
    }

    public void setPlace2(String place2) {
        this.place2 = place2;
    }

    public PictureRenderData getPic() {
        return pic;
    }

    public void setPic(PictureRenderData pic) {
        this.pic = pic;
    }

}
/**
 * poi-tl库的使用示例.
 * Created by blinkfox on 2017/6/27.
 */
public class PoitlTest {
   
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值