public class JxlUtil {
/**
*
* @Title: exportExcel
* @Description: TODO(导出excel)
* @param @param list 要导出的对象的集合
* @param @param methodNames 对象的所有get方法名
* @param @param titleNames excel表头。methodNames顺序要与其一一对应
* @param @param response
* @param @param fileName 文件名,不包含后缀
* @param @throws Exception
* @return void 返回类型
* @throws
*/
public static void exportExcel(List<?> list, List<String> methodNames,List<String> titleNames, HttpServletResponse response,String fileName) throws Exception {
String newfileName = new String(fileName.getBytes("gb2312"),
"ISO8859-1");
response.setContentType("application/octet-stream;charset=UTF-8");
response.setHeader("content-disposition", "attachment;filename="
+ newfileName + ".xls");
response.resetBuffer();
OutputStream os = new BufferedOutputStream(response.getOutputStream());
WritableWorkbook book = Workbook.createWorkbook(os);
WritableSheet sheet = book.createSheet("第一页", 0);
for (int i = 0; i < titleNames.size(); i++) {
Label label = new Label(i, 0, titleNames.get(i));
sheet.addCell(label);
}
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < methodNames.size(); j++) {
Label label = new Label(j, i + 1, list.get(i).getClass()
.getMethod(methodNames.get(j))
.invoke(list.get(i), null)
+ "");
sheet.addCell(label);
}
}
book.write();
book.close();
}
}
前台请求 location.href="url"