webwork中Excel导出几种方式

1.WebWork中自定义result视图使用POI生成Excel

   http://www.blogjava.net/jfy3d/archive/2006/04/11/40430.html

 

2.webwork+freemarker实现简单导出Excel

   http://cnhzliye.iteye.com/blog/284134

 

3.直接将excel工作薄写入response输出流中

 

// 创建新的Excel工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表
HSSFSheet sheet = workbook.createSheet();
// 设置表头字体
HSSFFont font_h = workbook.createFont();
font_h.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
// 设置格式
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setFont(font_h);
// 在索引0的位置创建行(最顶端的行)
HSSFRow row = sheet.createRow((short) 0);
for (int i = 0; i < 10; i++) {
// 在索引0的位置创建单元格(左上端)
HSSFCell cell = row.createCell((short) i);
// 定义单元格为字符串类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 设置解码方式
cell.setEncoding((short) 1);
// 设置单元格的格式
cell.setCellStyle(cellStyle);
// 在单元格中写入表头信息
cell.setCellValue(i);
}
HttpServletResponse response = ServletActionContext.getResponse();
//取得输出流
OutputStream out = response.getOutputStream();
//清空输出流
response.reset();
//设置响应头和下载保存的文件名
response.setHeader("content-disposition","attachment;filename="+"test.xls");
//定义输出类型
response.setContentType("APPLICATION/msexcel");
workbook.write(out);

out.flush();
out.close();
//这一行非常关键,否则在实际中有可能出现莫名其妙的问题!!!
response.flushBuffer();//强行将响应缓存中的内容发送到目的地

 

你可能感兴趣的:(Java)