最近项目有个需求 :服务器定时跑数据生成分析图并导出word文档。附加word转pdf功能。
首先,关于服务器端(java)生成echars图片。
原理:通过无头浏览器调用js方法,使用服务端查出来的数据生成echars图片,此处使用了phantomjs作为无头浏览器(此开源项目目前处于终止状态,谷歌浏览器等都开发出类似功能,源码贡献者成员之一终止继续更新版本)。下附详细代码。
package com.gelpag.business.echarsWord.utils; import org.apache.commons.lang.StringUtils; import java.io.*; import java.util.*; /** * Created by zhangzhiqiang on 2019/6/4. */ public class EchartGenerate { private static final String JSpath = "/Users/zhangzhiqiang/Downloads/phantomjs/echarts-convert/echarts-convert1.js"; public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("水"); list.add("温度"); List<String> alist = new ArrayList<String>(); alist.add("120"); alist.add("132"); alist.add("101"); alist.add("134"); alist.add("90"); alist.add("230"); alist.add("210"); alist.add("132"); alist.add("210"); alist.add("132"); alist.add("101"); alist.add("134"); //此处option直接从echars官网copy即可,需要什么样的类型的分析图就写什么 String optiona = "{tooltip : {trigger: 'axis'}, legend: {data:['" + listToString(list, "','") + "'] }, toolbox: {show : true, feature : {saveAsImage : {show: true} } }, calculable : true, xAxis : [{type : 'category', data : ['" + listToString(alist, "','") + "'] } ], yAxis : [{type : 'value'} ], series : [{name:'水', type:'bar', data:[2.