public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
//*String username = request.getParameter("username");
SQLConn sqlConn = new SQLConn();
try {
Connection conn = sqlConn.getConnection1();
String root_path = this.getServletContext().getRealPath("");
String reportFilePath = root_path
+ "\\WEB-INF\\classes\\com\\ztesoft\\bidding\\contract\\jspreport\\javaBean.jasper ";
File reportFile1 = new File(reportFilePath);
if (!reportFile1.exists())
throw new JRRuntimeException(
"没找到文件路径");
JasperReport jasperReport1 = (JasperReport) JRLoader
.loadObject(reportFile1.getPath());
//Map parameters = new HashMap();
//parameters.put("id", 1);
//-------数据传输-------------
List<testVo> data = new ArrayList<testVo>();
testVo TestVo = new testVo();
List<testVo> list = new ArrayList<testVo>();
try {
Statement stmt = conn.createStatement();
ResultSet rslt = stmt
.executeQuery("select * from PARTNER where partner_id = 2843");
while (rslt.next()) {
testVo obj = new testVo();
obj.setContactMan(rslt.getString("CONTACT_MAN"));
obj.setContactTel(rslt.getString("contact_Tel"));
obj.setBank(rslt.getString("bank"));
obj.setAccount(rslt.getString("account"));
list.add(obj);
}
for (int i = 0; i < list.size(); i++) {
TestVo.setContactMan(list.get(i).getContactMan());
TestVo.setContactTel(list.get(i).getContactTel());
TestVo.setBank(list.get(i).getBank());
TestVo.setAccount(list.get(i).getAccount());
}
//假数据
//数量 budget_amount 单价 price
TestVo.setBudgetAmount("10");
TestVo.setPrice("9300.000");
//--商品信息 名称 name 商品型号material_type
TestVo.setName("联想电脑XM300");
TestVo.setMaterialType("1颗2.40GHz四核XEON处理器,2GB内存");
// 交货期 2交货地点 联系人
} catch (SQLException e) {
e.printStackTrace();
}
data.add(TestVo);
JRDataSource dataSource = new JRBeanCollectionDataSource(data);
//-------数据传输-------------------
JasperPrint jasperPrint1 = JasperFillManager.fillReport(
jasperReport1, null, dataSource);
JRExporter exporter = null;
exporter = new JRRtfExporter();
List reportlist = (List) new java.util.ArrayList();
reportlist.add(jasperPrint1);
System.out.println(reportlist.size() + "list");
byte[] bytes;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST,
reportlist);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
//qijia
exporter.setParameter(JRExporterParameter.JASPER_PRINT,
jasperPrint1);
//exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.exportReport();
// exporter.exportReportToStream();
bytes = baos.toByteArray();
// System.out.println(bytes+"bytes");
if (bytes != null && bytes.length > 0) {
System.out.println(bytes+"bytes");
try {
//response.reset();
response.setContentType("application/ms_word");
response.setHeader("Content-disposition",
"attachment; filename=yourReport.doc");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response
.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
// response.reset();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
conn.close();
}
}
} catch (SQLException e1) {
e1.printStackTrace();
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
分享到:
相关推荐
在安装iReport-5.6.0的过程中,你需要下载提供的`iReport-5.6.0-windows-installer.exe`文件,这是一个适用于Windows操作系统的安装程序。安装步骤通常包括: 1. 双击运行`iReport-5.6.0-windows-installer.exe`,...
### iReport 5.1.0 Windows 安装器知识点详解 #### 一、iReport 简介 iReport 是一款开源的报表设计工具,主要用于帮助开发者设计和创建复杂的数据报表。它提供了丰富的功能来支持多种数据源,并能够生成各种格式...
iReport-4.5.1.zip 工具包,由于上传文件大小受限,先传除ireport文件夹之外的文件,ireport文件夹将作为另外一个资源上传,资源名称为iReport-4.5.1 ireport.zip 同时下载iReport-4.5.1.zip和iReport-4.5.1 ireport...
标题中的"iReport-5.0.1-windows-installer.exe"指的是iReport的特定版本——5.0.1版的Windows安装程序。这个版本的iReport带来了许多改进和新特性,旨在提升报表设计的效率和灵活性。在Windows操作系统上,这个...
使用方法:1.安装iReport ...打开iReport安装路径 修改etc/ireport.conf 指定解压出的jdk目录,不用带bin,记得吧前面的注释去掉 jdkhome="G:\donotDel\java-se-7u75-ri" 没有第三步iReport 会闪退
iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器。 iReport的遵循AGPL自由开源协议,在SourceForge.net开源社区发布 [1] 。
1. **下载安装包**:从官方渠道或者可信来源下载iReport-5.1.0-windows-installer.exe安装包。 2. **运行安装程序**:双击安装包启动安装向导,按照提示完成安装过程。 3. **配置JRE/JDK**:确保系统中已安装Java...
2. **报表设计**:iReport提供了丰富的报表设计功能,包括表格、图表、文本、图像等多种元素,用户可以通过拖拽的方式进行布局,同时支持自定义样式和格式,实现高度定制化的报表设计。 3. **SQL查询支持**:...
iReport-5.1.0和iReport-5.6.0
它的版本5.6.0提供了Windows平台上的安装程序,即我们所看到的"iReport-5.6.0-windows-installer.zip"压缩包。这个压缩文件包含的主要组件是"iReport-5.6.0-windows-installer.exe",这是一个可执行文件,用户可以...
iReport-4.6.0-windows-installer最新安装包
iReport-4.6.0-windows-installer.exe最新安装包
这个“iReport-5.6.0报表工具安装包”包含了两个主要的组件:JDK1.7和iReport的5.6.0版本,这确保了用户能够在不额外下载JDK的情况下顺利进行安装和使用。 首先,让我们详细了解一下JDK(Java Development Kit)。...
ireport-windows-installer 安装包 iReport is the free, open source report designer for JasperReports and JasperReports Server. Create very sophisticated layouts containing charts, images, subreports, ...
在使用iReport-2.0.5免安装版时,用户需要确保已安装了JDK,因为iReport是基于Java的。解压压缩包后,找到相应的可执行文件(通常是`iReport-2.0.5/bin/ireport.sh`或`ireport.bat`),双击运行即可启动工具。同时,...
这个压缩包“iReport-5.6.0-windows-installer”是针对Windows操作系统的安装程序,允许用户在Windows环境下轻松安装和使用iReport 5.6.0版本。 在iReport 5.6.0中,你可以找到以下关键知识点: 1. **界面与工作...
这个源码版本("iReport-5.6.0-src.zip")包含了iReport的源代码,对于开发者来说,这是一份宝贵的资源,可以深入理解其内部工作原理,进行二次开发或者定制化修改。 打开这个压缩包,你会看到"iReport-5.6.0-src...
ireport-3.0.0版本的三个重要jar包,包括:jasperreports-3.0.0.jar、jasperreports-3.0.0-applet.jar和jasperreports-3.0.0-javaflow.jar。