- Highchars导出图表,项目有用到highchars,别人写好了,但是导出功能却没有实现,又是百度又是谷歌,整理了各方各面的代码,终于自己测试成功了。
- 所需要的包
- xerces.jar
- pdf-transcoder.jar
- batik-all-1.6.jar
- Web.xml文件
- <servlet>
- <servlet-name>exportImage</servlet-name>
- <servlet-class> ExportImage</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>exportImage</servlet-name>
- <url-pattern>/exportImage</url-pattern>
- </servlet-mapping>
- Java代码
- import java.io.IOException;
- import java.io.OutputStreamWriter;
- import java.io.StringReader;
- import javax.servlet.ServletException;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.batik.transcoder.Transcoder;
- import org.apache.batik.transcoder.TranscoderException;
- import org.apache.batik.transcoder.TranscoderInput;
- import org.apache.batik.transcoder.TranscoderOutput;
- import org.apache.batik.transcoder.image.JPEGTranscoder;
- import org.apache.batik.transcoder.image.PNGTranscoder;
- import org.apache.fop.svg.PDFTranscoder;
- public class ExportImage extends HttpServlet {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- public ExportImage() {
- super();
- }
- public void destroy() {
- super.destroy();
- }
- public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
- doPost(request, response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- request.setCharacterEncoding("utf-8");// 设置编码,解决乱码问题
- String type = request.getParameter("type");
- String svg = request.getParameter("svg");
- String filename = request.getParameter("filename");
- ServletOutputStream out = response.getOutputStream();
- if (null != type && null != svg) {
- svg = svg.replaceAll(":rect", "rect");
- String ext = "";
- Transcoder t = null;
- if (type.equals("image/png")) {
- ext = "png";
- t = new PNGTranscoder();
- } else if (type.equals("image/jpeg")) {
- ext = "jpg";
- t = new JPEGTranscoder();
- } else if (type.equals("application/pdf")) {
- ext = "pdf";
- t = new PDFTranscoder();
- } else if (type.equals("image/svg+xml")) {
- ext = "svg";
- }
- response.addHeader("Content-Disposition", "attachment; filename="+ filename + "." + ext);
- response.addHeader("Content-Type", type);
- if (null != t) {
- TranscoderInput input = new TranscoderInput(new StringReader(svg));
- TranscoderOutput output = new TranscoderOutput(out);
- try {
- t.transcode(input, output);
- } catch (TranscoderException e) {
- e.printStackTrace();
- }
- } else if (ext.equals("svg")) {
- OutputStreamWriter writer = new OutputStreamWriter(out, "UTF-8");
- writer.append(svg);
- writer.close();
- } else {
- out.print("Invalid type: " + type);
- }
- } else {
- response.addHeader("Content-Type", "text/html");
- }
- out.flush();
- out.close();
- }
- public void init() throws ServletException {
- }
- }
- Jsp代码
- <script type="text/javascript" src="highstock.js"></script>
- <script type="text/javascript" src="exporting.js"></script>
- //hichars需要的js文件
- <script type="text/javascript">
- $(function () {
- var chart;
- $(document).ready(function() {
- chart = new Highcharts.Chart({
- chart: {
- renderTo: 'container',
- type: 'line'
- },
- title: {
- text: '上半年统计温度平均值'
- },
- xAxis: {
- categories: ['Jan', 'Feb','Mar','Apr','May','Jun']
- },
- yAxis: {
- title: {
- text: 'Temperature(°C)'
- }
- },
- tooltip: {
- formatter: function() {
- return this.point.name + "<br>" + this.y +'°C';
- }
- },
- exporting:{
- // 是否允许导出
- enabled:true,
- filename:'Temperature',
- enableImages : true,
- url : '/exportImage'
- },
- plotOptions: {
- line: {
- cursor: 'pointer',
- dataLabels: {
- enabled: true
- },
- enableMouseTracking: true
- }
- },
- series: [{
- name: '一号车间',
- data: [3.4, 3.4, 3.3, 3.5, 3.2, 3.5]
- },{
- name: '二号车间',
- data: [3.2, 3.8, 3.7, 3.3, 3.0, 3.0]
- },{
- name: '三号车间',
- data: [3.9, 3.6, 3.5, 3.4, 3.5, 3.0]
- },{
- name: '四号车间',
- data: [7.0, 6.9, 9.5, 6.5, 8.2, 7.5]
- },{
- name: '五号车间',
- data: [9.0, 7.8, 5.6, 7.9, 7.8, 8.5]
- }]
- });
- });
- });
- </script>
相关推荐
本文将深入探讨如何使用Java实现FusionCharts图表的导出功能,包括导出为图片和PDF文件。 首先,要实现这个功能,你需要在项目中引入FusionCharts的Java库。FusionCharts提供了Java SDK,通过它我们可以与...
综上所述,这个"highchars导出"项目展示了如何在Java环境下结合Highcharts实现图表的导出功能。前端通过JavaScript与后端的Java服务进行交互,后端接收到请求后生成图像,最后将图像返回给前端。这个过程涉及到了Web...
本话题将深入探讨如何利用Java和Echarts将前台数据与图表导出为Word文件,以及涉及到的关键库和技术。 首先,我们需要理解Java中导出Word文档的主要库Apache POI。Apache POI是Java社区中广泛采用的API,它允许...
Java POI导出图片到Excel示例代码详解 Java POI是Java开发中常用的开源库,用于读写Microsoft Office文件格式,包括Excel、Word、PowerPoint等。今天,我们将介绍如何使用Java POI将图片导出到Excel中。 标题解释 ...
本项目名为“JAVA ITEXT 导出试卷”,其核心功能是使用Java和iText库来自动化生成PDF格式的试卷。 首先,我们需要了解iText库的基本用法。iText提供了许多API,允许开发者添加文本、图像、表格、链接等元素到PDF文...
Java 后台生成 ECharts 图表是一种常见的数据可视化方法,特别是在大数据处理和Web应用中。ECharts 是百度推出的一个开源的、基于 JavaScript 的数据可视化库,提供了丰富的图表类型和强大的交互功能。然而,在某些...
java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入
在IT行业中,有时候我们需要将数据或图表从网页或者应用程序中导出到常见的文档格式,例如Word,以便于进一步编辑和分享。在这个场景中,“使用Itext将highcharts导出到word文档的demo”是一个实用的技术解决方案。...
在Java应用中,使用FreeMarker导出Word文档可以提供灵活的文本和数据结合的方式,尤其适用于生成报告、合同等复杂格式的文档。本篇将详细介绍如何使用FreeMarker与Java结合来导出包含多张图片的Word文档。 1. **...
本文将深入探讨如何在Java中进行XML文件的导入与导出。 首先,理解XML的基本结构至关重要。XML文件由一系列的元素构成,每个元素都有可能包含子元素或者文本内容。元素通过开始标签 `<tag>` 和结束标签 `</tag>` ...
标题中的“java 大数据导出csv小工具”指的是一个基于Java编程语言开发的应用程序,其主要功能是将大量数据转换并导出为CSV(逗号分隔值)格式的文件。CSV是一种通用的文件格式,广泛用于数据交换,因为它可以被...
通过这个“java的poi生成excel图表demo”,我们可以学习如何利用POI创建动态的、数据驱动的Excel曲线图,进一步提升数据的可视性和理解性。这个压缩包中的“EexcelChart”可能是示例代码、测试数据或生成的Excel文件...
4.后台服务java语言实现,前端不限制; 5.前端代码: [removed]void(0)" class="layui-btn"> <i class="fa fa-refresh"> 导出Excel function listHbaseExcel(url){ var tableName=$("#tableName").val();...
在给定的标题“用java实现word统计报表和图形统计的导出”中,我们可以理解到这个项目或教程旨在教我们如何使用Java来创建包含统计报表和图形的Microsoft Word文档。这通常涉及到两个关键领域:文本处理和数据可视化...
本文将深入探讨如何使用Java来快速导出大量数据到DBF文件,以及如何利用`javadbf.jar`库进行高效操作。 首先,DBF文件是基于dBase III、IV或FoxPro等早期数据库管理系统的文件格式。它以ASCII文本存储表格数据,...
在Java编程环境中,导出Word文档是一项常见的任务,特别是在企业级应用中,如报表生成、文档自动化等场景。Apache POI库是Java开发者用来处理Microsoft Office格式文件(如Word、Excel)的一个强大工具,尤其在读取...
本话题主要探讨如何使用Java程序导出MySQL数据库中的数据。以下将详细讲解相关概念和技术。 首先,导出MySQL数据最常用的方式是通过命令行工具`mysqldump`。`mysqldump`是一个实用程序,它能备份MySQL数据库,生成...
Java导出数据为.SAV格式是一项常见的任务,特别是在数据分析领域,因为.SAV是IBM SPSS(Statistical Package for the Social Sciences)软件所采用的一种二进制文件格式,用于存储统计分析的数据集。以下是对这个...
在Java编程环境中,处理Excel数据并将其导出是一项常见的任务,尤其在数据分析、报表生成或者数据交换等场景中。Excel文件格式(.xlsx或.xls)因其直观易用和广泛支持而受到青睐。在这个主题中,我们将深入探讨如何...
在"java poi导出word"这个场景中,我们主要关注的是如何使用Java POI来创建和编辑Word文档。下面将详细介绍如何利用Java POI实现这些功能,并提供一些关键知识点。 1. 文字与段落: 在Java POI中,我们可以使用...