public void createExcel(List<Object> list, OutputStream pw) throws Exception {
try {
WritableWorkbook wwb = Workbook.createWorkbook(pw);
jxl.write.WritableSheet ws = wwb.createSheet("Sheet1", 0);
for (int i = 0; i < list.size(); i++) {
List<Object> row = (List<Object>) list.get(i);
String value = "";
for (int j = 0; j < row.size(); j++) {
if (row.get(j) == null || row.get(j).toString().equals("0")) {
value = "";
} else {
value = row.get(j).toString();
}
WritableCellFormat cellStyle = new WritableCellFormat();
Label cell = new Label(j, i, value, cellStyle);
ws.addCell(cell);
}
}
wwb.write();
wwb.close();
} catch (Exception ex) {
throw ex;
}
}
public String Exp() throws Exception {
ActionContext ctx = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST);
HttpServletResponse response = (HttpServletResponse) ctx.get(ServletActionContext.HTTP_RESPONSE);
String code= request.getParameter("code");
System.out.println(dwcode + "-------");
IDataBackUp backup = (IDataBackUp) Container.getInstance(IDataBack.class);
List<Object> baseInfos = backup.getPersonsByCode(code);
response.setContentType("application/octet-stream");
java.io.OutputStream pw = response.getOutputStream();
response.setContentType("application/octet-stream; charset=UTF-8");
String fileName = new String((code+ ".xls").getBytes("gb2312"), "ISO_8859_1");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
backup.createExcel(baseInfos, pw);
return null;
}