struts1 文件下载

//导出excel模板
	public void exportExcelTemplate(ActionMapping mapping,
			ActionForm form, HttpServletRequest req, HttpServletResponse res,
			RequestHashNew reh)throws Exception {
		req.setCharacterEncoding("utf-8");
		res.setContentType("application/x-download");//设置为下载application/x-download
		//PrintWriter out = reh.getRes().getWriter();
		String fileName = "";
		//设置输出文件
		String prefix=req.getSession().getServletContext().getRealPath("/");
	    fileName = "电费电量单";
		SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSS");
		String fileSrc=prefix +"temp/"+fileName+formatter.format(new java.util.Date())+".xls";
		File file = new File(fileSrc);
		 String filenamedisplay = "电费电量单.xls";//系统解决方案.txt
		   // filenamedisplay = URLEncoder.encode(filenamedisplay,"UTF-8");
		    res.addHeader("Content-Disposition","attachment;filename="  + EncodeUitl.encodeFileName(req, filenamedisplay));
		//PrintWriter out = response.getWriter();
		ServletOutputStream output = null;
		try {
			output =  res.getOutputStream();
			excelExportMgr.CreateExcel(req, prefix, file);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		FileInputStream filein = new FileInputStream(fileSrc);
		int i;
		while ((i = filein.read())!=-1) {
			output.write(i);
		}
		filein.close();
		output.close();
		file.delete();
	}
 
public void CreateExcel(HttpServletRequest request, String prefix, File file)
			throws Exception {
		FileOutputStream fos=null;
		String fileName = "";
		fileName = "电费电量单";
		//File file1 = new File(targetDirectory +"SYSTEM"+"MODEL"+"电工考试申请表.doc");
		FileInputStream fis=null;
			fos = new FileOutputStream(file,true);
			//FileWriter fw=new FileWriter(file,true);
			byte[] buff = new byte[4096]; 
			int readed = -1; 
				fis = new FileInputStream(prefix+"SYSTEM"+"/"+"MODEL"+"/"+fileName+".xls");
				while((readed = fis.read(buff))>0) 
					fos.write(buff,0,readed);
				fis.close();
			fos.close();
	}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值