How to export chart(graph) generated by jsp into a excel? I have a jsp page which generates charts . Now I need those charts to be exported into an excel.please help
hi friend,
you may use apache poi for exporting the chart into excel generated at JSP. You can try the following code which exports the chart data value into the excel sheet, may this will be helpful for you.
<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ page import="java.awt.*" %> <%@ page import = "java.util.* "%> <%@ page import="java.io.*" %> <%@ page import="org.jfree.chart.*" %> <%@ page import="org.jfree.chart.entity.*" %> <%@ page import ="org.jfree.data.general.*"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <% final DefaultPieDataset data = new DefaultPieDataset(); data.setValue("One", new Double(43.2)); data.setValue("Two", new Double(10.0)); data.setValue("Three", new Double(27.5)); data.setValue("Four", new Double(17.5)); data.setValue("Five", new Double(11.0)); data.setValue("Six", new Double(19.4)); JFreeChart chart = ChartFactory.createPieChart ("Pie Chart ", data, true, true, false); try { final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection()); ServletContext context = this.getServletContext(); String path = context.getRealPath("chartExample/web"); final File file1 = new File(path+"/piechart.png"); if(!file1.exists()) { file1.createNewFile(); } ChartUtilities.saveChartAsPNG( file1, chart, 600, 400, info); } catch (Exception e) { out.println(e); } %> <% %> <IMG SRC="/jspExample/chartExample/web/piechart.png" WIDTH="600" HEIGHT="400" BORDER="0"> <% int i = data.getItemCount(); %> <table border="1"> <tr> <td>Chart Slice</td><td>Slice Data</td> </tr> <% for(int j = 0; j<i; j++) { %> <tr> <td><%=data.getKey(j)%></td> <td><%=data.getValue(j)%></td> </tr> <% } %> </table> <% String excel = request.getParameter("excel"); if (excel != null && excel.toString().equalsIgnoreCase("YES")) { response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", "inline; filename=" + "chartData.xls"); } %> <% if (excel == null) { %> <a href="jspPieChart.jsp?excel=YES">Export Data To Excel Sheet</a> <% } %> </body> </html>