Java????Excel????????
???????????? ???????[ 2017/1/19 13:48:22 ] ??????????????????? Java
????????????????????????????????2????????????????????????????????С????????Excel?????????Excel???????????????????к????????????????????????????????????????????????poi??????
???????????????????????????“??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????“
??????????????????????????·????????????????????????£????????????????????
????1????????????????????????????????????????ajax????????Excel????????????????????????????????????????????????г???excel????????????????????????????????ajax??????????????????????????????????????????????????·??????????С??????ajax??????????????С???????????????????????
????2??????????form???submit??????????????£????????????????????????????????form????????????????????????????????????????????????????????????????о?????????????????????????????????????????????????????У?饗?漰????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????e????????????У?????????????jsp???д?????????????????????У??????????????????λС?????????iframe??????????????????????????????????????????д????????????????????????????????棩??
????3???????о???????????????????????????????????????e?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Excel?????response????????????????????????????????д??????????????????????????????????岻????????????????????????????????????????·????cookie???????????·??????????????????e???????jsд????????????cookie??????????д???????????cookie????????У???????js????????cookie???????????????????????????cookie???????е????????о????????????????????????????
??????????????????????cookie??????????????????????????????и??????????????????????лл????????
??????????
<button class="btn btn-sm btn-success" type="submit" id="detailEp" onclick="return exportCheck(true);" forbid="yes">
<i class="icon-arrow-right bigger-110"></i> ????
</button>
<br><script>
$(function() {
var timer = "";
});
//?????????????????????
$("#myForm").submit(function() {
$("button[type=submit]"??this).attr("disabled"??"disabled");
//????????????????е??????
timer = setInterval(refrashPg??1000);
})
//????????????????????????
function refrashPg() {
if (getCk() =="1") {
clearInterval(timer);
$("#detailEp").removeAttr("disabled");
}
delCk();
}
//js?????cookie
function getCk() {
debugger
var ck = document.cookie.split(";");
var ckname = "";
for (var i = 0;i<ck.length;i++) {
var arr = ck[i].split("=");
if (arr[0] =="updtstatus") {
ckname = arr[1];
break;
}
}
return ckname;
}
//js?????cookie
function delCk() {
var exp = new Date();
var name = "updtstatus";
exp.setTime(exp.getTime()-1000);
var cval = getCk();
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
}
??????????????????????Java POI????
1 public void buildExcelDocument(Map<String?? Object> obj??String fileName??String type??
2 HttpServletRequest request?? HttpServletResponse response)
3 throws Exception {
4 HSSFWorkbook workbook = new HSSFWorkbook();
5 if ("1".equals(type)) {
6 List<Map<String?? Object>> contentList = (List<Map<String?? Object>>) obj.get("content");
7 HSSFSheet sheet = workbook.createSheet("sheet1");//????Excel??汾??2003-2007??xls?? ??????2010??????? XSSFSheet
8 Map<String??String> titleList = (Map<String?? String>) obj.get("title");
9 //?????key ???????listMap?е?map??key
10 List<String> mkey = new ArrayList<String>();
11 //?????value ???
12 List<String> mvalue = new ArrayList<String>();
13 Iterator<Entry<String?? String>> it = titleList.entrySet().iterator();
14 while(it.hasNext()){
15 @SuppressWarnings("rawtypes")
16 java.util.Map.Entry entry = (java.util.Map.Entry)it.next();
17 mkey.add((String) entry.getKey());
18 mvalue.add((String) entry.getValue());
19 }
20 sheet.setDefaultColumnWidth((short) 12);
21 HSSFCell cell = null;
22 for (int i = 0;i<mvalue.size();i++) {
23 cell = getCell(sheet?? 0?? i);
24 setText(cell?? mvalue.get(i));
25 }
26
27 for (short i = 0; i < contentList.size(); i++) {
28 HSSFRow sheetRow = sheet.createRow(i+1);
29 Map<String?? Object> entity = contentList.get(i);
30 for (int j = 0;j< mkey.size();j++) {
31 if (entity.get(mkey.get(j)) instanceof String) {
32 sheetRow.createCell(j).setCellValue((String)entity.get(mkey.get(j)));
33 } else if (entity.get(mkey.get(j)) instanceof Double) {
34 sheetRow.createCell(j).setCellValue((Double)entity.get(mkey.get(j)));
35 } else if (entity.get(mkey.get(j)) instanceof Date){
36 String date = (entity.get(mkey.get(j))).toString();
37 sheetRow.createCell(j).setCellValue(date.substring(0?? 10));
38 } else if (entity.get(mkey.get(j)) instanceof BigDecimal){
39 sheetRow.createCell(j).setCellValue((entity.get(mkey.get(j))).toString());
40 }
41 }
42 }
43 }
44 } else if ("2".equals(type)) {
45 List<String[]> contentList = (List<String[]>) obj.get("content");
46 HSSFSheet sheet = workbook.createSheet("sheet1");
47 String[] titleList = (String[]) obj.get("title");
48 HSSFCell cell = null;
49 for (int i = 0;i<titleList.length;i++) {
50 cell = getCell(sheet?? 0?? i);
51 setText(cell?? titleList[i]);
52 }
53 for (short i = 0; i < contentList.size(); i++) {
54 HSSFRow sheetRow = sheet.createRow(i+1);
55 String[] detail = contentList.get(i);
56 for (int j = 0;j< detail.length;j++) {
57 sheetRow.createCell(j).setCellValue((String)contentList.get(i)[j]);
58 }
59 }
60 }
61
62 //??????????????Excel??????
63 String filename = fileName + ".xls";
64 //?????????????
65 filename = Chineseutil.encodeFilename(filename?? request);
66 response.setContentType("application/Vnd.ms-excel;charset=UTF-8");
67 response.setHeader("Content-Disposition"?? "attachment;filename=" + new String(filename.getBytes("gb2312")?? "iso8859-1"));
68 OutputStream ouputStream = response.getOutputStream();
69 workbook.write(ouputStream);
70
71 //????????????????cookie
72 Cookie status = new Cookie("updtstatus"?? "1");
73 status.setMaxAge(3600);//????cookie??????1??С?
74 response.addCookie(status);
75
76 ouputStream.flush();
77 ouputStream.close();
78 }
??????

???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11