`

java调ireport---(poi流输出word)(2次试验)

阅读更多
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的过程中,你需要下载提供的`iReport-5.6.0-windows-installer.exe`文件,这是一个适用于Windows操作系统的安装程序。安装步骤通常包括: 1. 双击运行`iReport-5.6.0-windows-installer.exe`,...

    iReport-5.1.0-windows-installer

    ### iReport 5.1.0 Windows 安装器知识点详解 #### 一、iReport 简介 iReport 是一款开源的报表设计工具,主要用于帮助开发者设计和创建复杂的数据报表。它提供了丰富的功能来支持多种数据源,并能够生成各种格式...

    iReport-4.5.1.zip

    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.6.0-windows-installer.exe(含jdk7)

    使用方法:1.安装iReport ...打开iReport安装路径 修改etc/ireport.conf 指定解压出的jdk目录,不用带bin,记得吧前面的注释去掉 jdkhome="G:\donotDel\java-se-7u75-ri" 没有第三步iReport 会闪退

    iReport-5.5.1-windows-installer

    iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器。 iReport的遵循AGPL自由开源协议,在SourceForge.net开源社区发布 [1] 。

    iReport-5.1.0-windows-installer.exe

    1. **下载安装包**:从官方渠道或者可信来源下载iReport-5.1.0-windows-installer.exe安装包。 2. **运行安装程序**:双击安装包启动安装向导,按照提示完成安装过程。 3. **配置JRE/JDK**:确保系统中已安装Java...

    iReport-5.0.1-windows-installer.exe iReport报表开发工具

    标题中的"iReport-5.0.1-windows-installer.exe"指的是iReport的特定版本——5.0.1版的Windows安装程序。这个版本的iReport带来了许多改进和新特性,旨在提升报表设计的效率和灵活性。在Windows操作系统上,这个...

    iReport-5.6.0.rar

    2. **报表设计**:iReport提供了丰富的报表设计功能,包括表格、图表、文本、图像等多种元素,用户可以通过拖拽的方式进行布局,同时支持自定义样式和格式,实现高度定制化的报表设计。 3. **SQL查询支持**:...

    iReport-5.1.0和iReport-5.6.0

    iReport-5.1.0和iReport-5.6.0

    iReport-5.6.0-windows-installer.zip

    它的版本5.6.0提供了Windows平台上的安装程序,即我们所看到的"iReport-5.6.0-windows-installer.zip"压缩包。这个压缩文件包含的主要组件是"iReport-5.6.0-windows-installer.exe",这是一个可执行文件,用户可以...

    iReport-4.6.0-windows-installer.exe第一部分

    iReport-4.6.0-windows-installer最新安装包

    iReport-4.6.0-windows-installer.exe第二部分

    iReport-4.6.0-windows-installer.exe最新安装包

    iReport-5.6.0报表工具安装包

    这个“iReport-5.6.0报表工具安装包”包含了两个主要的组件:JDK1.7和iReport的5.6.0版本,这确保了用户能够在不额外下载JDK的情况下顺利进行安装和使用。 首先,让我们详细了解一下JDK(Java Development Kit)。...

    iReport-2.0.5免安装版

    在使用iReport-2.0.5免安装版时,用户需要确保已安装了JDK,因为iReport是基于Java的。解压压缩包后,找到相应的可执行文件(通常是`iReport-2.0.5/bin/ireport.sh`或`ireport.bat`),双击运行即可启动工具。同时,...

    ireport-windows-installer

    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-5.6.0-windows-installer

    这个压缩包“iReport-5.6.0-windows-installer”是针对Windows操作系统的安装程序,允许用户在Windows环境下轻松安装和使用iReport 5.6.0版本。 在iReport 5.6.0中,你可以找到以下关键知识点: 1. **界面与工作...

    iReport-5.6.0-src.zip

    这个源码版本("iReport-5.6.0-src.zip")包含了iReport的源代码,对于开发者来说,这是一份宝贵的资源,可以深入理解其内部工作原理,进行二次开发或者定制化修改。 打开这个压缩包,你会看到"iReport-5.6.0-src...

    ireport-3.0.0的三个jar包

    ireport-3.0.0版本的三个重要jar包,包括:jasperreports-3.0.0.jar、jasperreports-3.0.0-applet.jar和jasperreports-3.0.0-javaflow.jar。

Global site tag (gtag.js) - Google Analytics