整体思路:
1、前端:把echart的base64传递到后端
2、后端:在后台进行base64解码,生成指定路径下的图片
前端,伪代码:
....
myCharts1.setOption(option1);
setTimeout(exportImage, 2000);//切记:一定设置这个延迟,否则生成的图片是黑色的。
function exportImage(){
var picBase64Info = myCharts1.getDataURL();//获取图片的base64传递后台,生成图片,供导出报表使用
var data = "a="+encodeURIComponent(myCharts1.getDataURL("png"));
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST","<%=path%>/web/model/login/savetp.do",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
//alert("保存成功");
}
}
xmlhttp.send(data);
}
后端,伪代码:
/**
* 保存图片
* @param request
* @return
*/
@RequestMapping(value = "/savetp", method = RequestMethod.POST)
public void saveImage(HttpServletRequest request) throws Exception{
String a = request.getParameter("a");
String[] url = a.split(",");
String u = url[1];
byte[] b = new BASE64Decoder().decodeBuffer(u);
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {// 调整异常数据
b[i] += 256;
}
}
// 生成png图片
String imgpath=request.getRealPath("/")+"/export/fw.png";
OutputStream out = new FileOutputStream(imgpath);
out.write(b);
out.flush();
out.close();
}
相关推荐
本项目涉及的关键技术是利用ECharts生成统计图,然后自动保存这些图像到服务器,最后结合Freemarker模板引擎生成包含图片和循环表格的Word文档。 ECharts是一款由百度开发的开源数据可视化库,它提供了丰富的图表...
本项目完整带全部jar包,可直接运行,包含echarts表格绘制,图片上传,base64图片解析,图片写入到excel,导出excel表格,文件下载,使用的是入门级别的技术servlet,博客...
生成图片后调用浏览器预览功能,等待文件保存完成,如果保存失败,自动重试3次,最后返回图片在服务器上的实际路径,便于后续处理,如导出到Word或Excel中。 后端接收图片的服务器端口和默认图片大小可通过echart....
java+phantomjs+echarts导出图片到服务器,包含JAVA测试类,phantomjs 文件,echarts-convert.js
然而,如何将前端生成的图表图片保存到服务器,并提供下载功能,成为了一个常见的需求。本文将基于提供的信息,详细介绍如何使用ECharts结合JavaScript和Java后端技术来实现这一功能。 #### 前端部分:ECharts 图片...
在“echarts地图生成工具”中,我们可以利用ECharts的特性来创建各种地理信息图表,如中国省份、城市级别的地图。尽管这个工具可能无法生成到镇级别的精细地图,但它对于省级、市级的展示已经非常实用。 ECharts...
使用Echarts通过Servlet导出图片,并将图片保存到Excel中
在描述中提到的“Echart生成图片插入到word中”这一话题,我们将探讨如何利用ECharts生成的图表图片并将其集成到Word文档中。 首先,ECharts可以通过`chart.exporting()`方法生成SVG或PNG格式的图片。以下是生成...
如果这是一个地图数据文件,用户需要将其正确解码并导入到 ECharts 地图生成工具中,以便于自定义和展示。 在实际应用中,ECharts 地图生成工具对于数据分析、地理信息系统(GIS)开发以及各类需要展示地理位置信息...
3. **服务器处理**:服务器接收到请求后,使用ECharts Server端库生成图表,并将其转换为图片。 4. **返回图片**:服务器返回图片数据,可以是图片的Base64编码,也可以是下载链接。 5. **客户端接收**:前端应用或...
Echarts生成全国所有省地图,点击省生成对应省的所有市地图。包含各个省的js文件和json文件。guangdong.js,anhui.js,aomen.js,beijing.js,chongqing.js,fujian.js,gansu.js,guangdong.js,guangxi.js,gui...
4. **处理结果**:转换完成后,Java程序可以从临时目录或指定位置读取生成的图片,进行进一步的处理,如上传服务器、保存本地或发送给前端展示。 需要注意的是,PhantomJS项目已停止维护,可能存在的安全风险和兼容...
echarts-server-imageecharts配合phantomjs,在服务端生成图片。Usagenpm install phantomjs -ghttps://github.com/hushicai/echarts-server-image.gitcd echarts-server-imagenpm installnode phantom/echarts.js...
PhantomJS 可以在服务器端运行,不依赖于任何用户界面,这使得在Java中生成ECharts图表成为可能。 要使用 `echartspoi` 相关的jar包,首先你需要将其添加到你的项目依赖中。`echartspoi` 是一个扩展了 Apache POI ...
总的来说,Java后端生成ECharts图片需要理解ECharts的配置结构,选择合适的服务器端渲染工具,以及可能的封装和优化。虽然过程相对复杂,但完成后可以实现后端生成动态图表,提高系统的响应速度和安全性。
6. **数据显示**:接收到JSON数据后,Echarts会自动更新图表,显示数据库中的最新数据。 7. **交互功能**:根据需求,可以添加Echarts的交互功能,如缩放、平移、数据区域选择等,以增强用户体验。 通过这个实例,...
echarts图表导出到excel中的解决方法,做个备忘录,以防忘记
在本文中,我们将深入探讨如何使用JavaScript库ECharts在前端实现县市级独立地图,并且能够高效处理海量数据点,同时保持良好的性能。ECharts是一款基于HTML5 Canvas的、开源的可视化图表库,提供了丰富的图表类型,...