iReport應用總結1
關於如何使用iReport通過各種數據源生成報表模板,網上資料很多,我不再綴述。以下僅是記錄了簡單的編程步驟;
1,採用了javabean作爲數據源
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.export.JRHtmlExporter;
import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
import net.sf.jasperreports.engine.util.JRLoader;
import com.known.pojo.ProductBean;
/**
* Servlet implementation class ReportThree
*/
public class BaseReport extends HttpServlet {
private static final long serialVersionUID = 348226870594216833L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {
// 生成測試數據
ArrayList<ProductBean> data = new ArrayList<ProductBean>();
for (int i = 1; i <= 100; i++) {
ProductBean bean = new ProductBean();
bean.setProductName("Product號 " + i);
data.add(bean);
}
JRDataSource dataSource = new JRBeanCollectionDataSource(data);
// 生成JasperPrint
JasperReport report = (JasperReport) JRLoader
.loadObject("D:\\Program Files\\JasperSoft\\iReport-3.0.0\\report_javabean.jasper");
JasperPrint jasperPrint = JasperFillManager.fillReport(report,
null, dataSource);
// 設定輸出格式
resp.setCharacterEncoding("utf-8");
PrintWriter ouputStream = resp.getWriter();
HttpSession session = req.getSession();
int page = 0;
JRHtmlExporter html1 = new JRHtmlExporter();// HTML的導出工具
html1.setParameter(JRHtmlExporterParameter.JASPER_PRINT,
jasperPrint);
html1.setParameter(JRHtmlExporterParameter.PAGE_INDEX, page);
html1.setParameter(JRHtmlExporterParameter.OUTPUT_WRITER,
ouputStream);
html1.exportReport();
System.out.println("當前頁:" + page);
ouputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
1,採用了javabean作爲數據源
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.export.JRHtmlExporter;
import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
import net.sf.jasperreports.engine.util.JRLoader;
import com.known.pojo.ProductBean;
/**
* Servlet implementation class ReportThree
*/
public class BaseReport extends HttpServlet {
private static final long serialVersionUID = 348226870594216833L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {
// 生成測試數據
ArrayList<ProductBean> data = new ArrayList<ProductBean>();
for (int i = 1; i <= 100; i++) {
ProductBean bean = new ProductBean();
bean.setProductName("Product號 " + i);
data.add(bean);
}
JRDataSource dataSource = new JRBeanCollectionDataSource(data);
// 生成JasperPrint
JasperReport report = (JasperReport) JRLoader
.loadObject("D:\\Program Files\\JasperSoft\\iReport-3.0.0\\report_javabean.jasper");
JasperPrint jasperPrint = JasperFillManager.fillReport(report,
null, dataSource);
// 設定輸出格式
resp.setCharacterEncoding("utf-8");
PrintWriter ouputStream = resp.getWriter();
HttpSession session = req.getSession();
int page = 0;
JRHtmlExporter html1 = new JRHtmlExporter();// HTML的導出工具
html1.setParameter(JRHtmlExporterParameter.JASPER_PRINT,
jasperPrint);
html1.setParameter(JRHtmlExporterParameter.PAGE_INDEX, page);
html1.setParameter(JRHtmlExporterParameter.OUTPUT_WRITER,
ouputStream);
html1.exportReport();
System.out.println("當前頁:" + page);
ouputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.