Java创建excel表格并下载

<pre name="code" class="java">public void toExcel(HttpServletResponse response){
		//创建工作薄
		WritableWorkbook book = null;
		//创建工作流
		OutputStream os = null;
		response.setCharacterEncoding("utf-8");
		//清空输出流
		response.reset();
		//设置弹出对话框,定义输出类型为excel文件
		response.setContentType("application/msexecl");
		//设置工作表标题
		response.setHeader("Content-Disposition", "attachment;filename=test.xls");
		try {
			//取得输出流
			os = response.getOutputStream();
			//初始化工作表
			book = Workbook.createWorkbook(os);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//创建新的一页
		WritableSheet sheet = book.createSheet("名字", 0);
		try {
			//创建显示的内容,创建单元格,第一个参数为列坐标,第二个参数为行坐标,第三个参数为内容
			sheet.addCell(new jxl.write.Label(0, 0, "姓名"));
			sheet.addCell(new jxl.write.Label(1, 0, "年龄"));
			sheet.addCell(new jxl.write.Label(2, 0, "性别"));
			
			//如果是数据库里面读取数据的话,从数据库里面查询出list
			List<Map<String, String>> list = new ArrayList<Map<String,String>>();
			for (int i = 0; i < list.size(); i++) {
				sheet.addCell(new jxl.write.Label(0, i+1, list.get(i).get("NAME")));
				sheet.addCell(new jxl.write.Label(1, i+1, list.get(i).get("AGE")));
				sheet.addCell(new jxl.write.Label(2, i+1, list.get(i).get("SEX")));
			}
		} catch (RowsExceededException e) {
			e.printStackTrace();
		} catch (WriteException e) {
			e.printStackTrace();
		}
		try {
			book.write();
			book.close();
		} catch (WriteException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

<span style="font-size:18px;color:#ff6666;"><strong>注意:</strong></span><p style="margin: 10px auto; padding-top: 0px; padding-bottom: 0px; line-height: 19.5px; font-size: 13px; font-family: Verdana, Arial, Helvetica, sans-serif; background-color: rgb(254, 254, 242);"><span style="white-space:pre">	</span><span style="color:#ff0000;">Content-disposition</span> 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。当 Internet Explorer 接收到头时,它会激活<span style="margin: 0px; padding: 0px;">文件下载</span>对话框,它的文件名框自动填充了头中指定的文件名。(请注意,这是设计导致的;无法使用此功能将文档保存到用户的计算机上,而不向用户询问保存位置。)   服务端向客户端游览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt、jpg等,会直接在浏览器中显示,如果需要提示用户保存,就要利用Content-Disposition进行一下处理,关键在于一定要加上<span style="color:#ff0000;">attachment</span>:Response.AppendHeader("Content-Disposition","attachment;filename=FileName.txt");</p><p style="margin: 10px auto; padding-top: 0px; padding-bottom: 0px; line-height: 19.5px; font-size: 13px; font-family: Verdana, Arial, Helvetica, sans-serif; background-color: rgb(254, 254, 242);"><span style="white-space:pre">	</span></p>

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值