java 导出并下载excel

使用框架:jxl   官网:http://www.andykhan.com/jexcelapi/download.html

action代码:

		//
		if("export".equals(option)){
			ByteArrayOutputStream os = new ByteArrayOutputStream();
			String [] headers=new String[]{"地区ID","地区编码","地区名称","简名","拼音","备注"};
			try {
				WritableWorkbook workbook = Workbook.createWorkbook(os);
				WritableSheet sheet = workbook.createSheet("Sheet1", 0);
				//组件列名
				for(int i=0;i<headers.length;i++){
					Label label = new Label(i, 0, headers[i]);
					sheet.addCell(label);
				}
				//组件数据
				for(int i=0;i<areas.size();i++){
					Label labelAreaId = new Label(0, i+1, areas.get(i).getAreaId());
					sheet.addCell(labelAreaId);
					Label labelAreaCode = new Label(1, i+1, areas.get(i).getAreaCode());
					sheet.addCell(labelAreaCode);
					Label labelAreaName = new Label(2, i+1, areas.get(i).getAreaName());
					sheet.addCell(labelAreaName);
					Label labelAreaSimpleName = new Label(3, i+1, areas.get(i).getAreaSimpleName());
					sheet.addCell(labelAreaSimpleName);
					Label labelAreaPinyin = new Label(4, i+1, areas.get(i).getAreaPinyin());
					sheet.addCell(labelAreaPinyin);
					Label labelAreaComment = new Label(5, i+1, areas.get(i).getAreaComment());
					sheet.addCell(labelAreaComment);
				}
				workbook.write();
				workbook.close();
				exportExcelFileName=new String((DateUtil.dateToStr(new Date(), "yyyyMMddHHmmss")+"_地区.xls").getBytes(), "ISO8859-1");
				inputStream = new ByteArrayInputStream(os.toByteArray());
			}catch(Exception e){
				e.printStackTrace();
				throw new ErpRuntimeException("system_export_error_message");
			}
			return option;
		}

struts.xml配置

<result name="export" type="stream">
			    <param name="contentType">application/vnd.ms-excel</param>
			    <param name="inputName">inputStream</param>
			    <param name="contentDisposition">attachment;filename="${exportExcelFileName}"</param>
			    <param name="bufferSize">1024</param>
			 </result>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值