JAVA生成报表
JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。 ——–百度百科
效果图
项目结构图
如果没有下载JFreeChart的 请点击—–> JFreeChart下载
web.xml配置参数
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/DisplayChart</url-pattern>
</servlet-mapping>
- 生成柱状图
import javax.servlet.http.HttpSession;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.category.DefaultCategoryDataset;
/**
* 柱状图 bar
*
* @author Administrator
*
*/
public class BarChart1 {
public static String getBarChart(HttpSession session) throws Exception {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(510, "江西", "香蕉");
dataset.addValue(320, "江西", "苹果");
dataset.addValue(580, "江西", "橘子");
dataset.addValue(400, "江西", "梨子");
JFreeChart chart = ChartFactory.createBarChart3D("水果销售统计图", "水果", "销售",
dataset, PlotOrientation.VERTICAL, true, true, true);
String fileName = ServletUtilities.saveChartAsPNG(chart, 700, 500,
null, session);
return fileName;
}
}
JSP中调用方法(测试Demo就没有和Struts2整合)
<%
//柱状图 S
String fileName=BarChart1.getBarChart(session);//垂直
%>
<h1>柱状图</h1>
<img src="DisplayChart?filename=<%=fileName %>" width="700" height="500" border="0"/>
2.生成饼状图
import java.awt.Font;
import java.text.NumberFormat;
import javax.servlet.http.HttpSession;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.servlet.ServletUtilities