java---实现导出excel文件及自定义选择路径

废话不多说,直接上代码--------->
	public void export( HttpServletResponse res) throws IOException {
		// 创建HSSFWorkbook对象(excel的文档对象)
		HSSFWorkbook wb = new HSSFWorkbook();
		// 建立新的sheet对象(excel的表单)
		HSSFSheet sheet = wb.createSheet("student");
		// 在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个
		HSSFRow row1 = sheet.createRow(0);
		// 创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个
		HSSFCell cell = row1.createCell(0);
		// 设置单元格内容
		cell.setCellValue("学生信息表");
		// 合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列
		sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 3));
		// 在sheet里创建第二行
		HSSFRow row2 = sheet.createRow(1);
		// 创建单元格并设置单元格内容
		row2.createCell(0).setCellValue("姓名");
		row2.createCell(1).setCellValue("班级");
		// 在sheet里创建第三行
		HSSFRow row3 = sheet.createRow(2);
		row3.createCell(0).setCellValue("花花");
		row3.createCell(1).setCellValue("一年级一班");

		//将excel的数据写入文件
		ByteArrayOutputStream fos = null;
		byte[] retArr = null;
		try {
			fos = new ByteArrayOutputStream();
			wb.write(fos);
			retArr = fos.toByteArray();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				fos.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		OutputStream os = res.getOutputStream();
		try {
			res.reset();
			res.setHeader("Content-Disposition", "attachment; filename=agent_book.xls");//要保存的文件名
			res.setContentType("application/octet-stream; charset=utf-8");
			os.write(retArr);
			os.flush();
		} finally {
			if (os != null) {
				os.close();
			}
		}
	} 
注意:此自定义弹出框方法不支持ajax调用,
调用结果如下图:

java---实现导出excel文件及自定义选择路径_第1张图片

你可能感兴趣的:(java)