琴棋报表是一个开源,免费的中国式报表.实现相关的功能很简单。虽然这个项目很久没有维护了。但他的强大功能和简单易用性,仍然很受大家欢迎.
下面的附件中,包含了琴棋报表的完整项目.包括源代码,JAR包,示例.由于报表开发相当复杂.所以建议读者先运行我编写的简单例子。有个直观的感受.然后再运行项目中的例子.最后整理成自己的知识,生成自己需要的报表.^-^
由于今天时间有限,所以没有进行细致的整理,等过段时间,我会好好整理一下,与朋友们分享.
下面的附件中,包含了琴棋报表的完整项目.包括源代码,JAR包,示例.由于报表开发相当复杂.所以建议读者先运行我编写的简单例子。有个直观的感受.然后再运行项目中的例子.最后整理成自己的知识,生成自己需要的报表.^-^
由于今天时间有限,所以没有进行细致的整理,等过段时间,我会好好整理一下,与朋友们分享.
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@page import="com.lucaslee.report.printer.*"%>
<%@page import="com.lucaslee.report.*"%>
<%@page import="com.lucaslee.report.model.*"%>
<%@page import="java.io.*"%>
<html>
<body>
<%
// 报表管理器
ReportManager rm = new ReportManager();
// 原始数据表格
Table t = new Table();
TableRow tr = new TableRow();
tr = new TableRow();
for (int i = 1; i <= 12; i++) {
tr = new TableRow();
tr.addCell(new TableCell(String.format("%02d", i) + "月"));
tr.addCell(new TableCell("" + i));
tr.addCell(new TableCell("" + i));
tr.addCell(new TableCell("" + i));
t.addRow(tr.cloneAll());
}
Report report = new Report();
ReportBody body = new ReportBody();
body.setData(t);
report.setBody(body);
// 执行HTML格式报表的输出
ByteArrayOutputStream baos = new ByteArrayOutputStream();
new HTMLPrinter().print(report, baos);
out.println(new String(baos.toByteArray(), "GBK"));
baos.close();
%>
</body>
</html>