一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - JavaWeb中導(dǎo)出excel文件的簡單方法

JavaWeb中導(dǎo)出excel文件的簡單方法

2020-06-23 12:56java教程網(wǎng) JAVA教程

下面小編就為大家?guī)硪黄狫avaWeb中導(dǎo)出excel文件的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在平時做系統(tǒng)項目時,經(jīng)常會需要做導(dǎo)出功能,不論是導(dǎo)出excel,還是導(dǎo)出cvs文件。我下面的demo是在springmvc的框架下實現(xiàn)的。

1.JS中只需要用GET模式請求導(dǎo)出就可以了:

?
1
2
3
4
$('#word-export-btn').parent().on('click',function(){
        var promotionWord = JSON.stringify($('#mainForm').serializeObject());
        location.href="${ctx}/promotionWord/export?promotionWord="+promotionWord;
});

2.在controller中要做的是將文件以數(shù)據(jù)流格式輸出:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@RequestMapping("/export")
public void export(HttpSession session, String promotionWord, HttpServletRequest request, HttpServletResponse response) throws IOException {
  User sessionUser = (User) session.getAttribute("user");
  JSONObject jsonObj = JSONObject.parseObject(promotionWord);
  HSSFWorkbook wb = promotionWordService.export(sessionUser.getId(), jsonObj);
  response.setContentType("application/vnd.ms-excel");
  Calendar cal = Calendar.getInstance();
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  String fileName = "word-" + sdf.format(cal.getTime()) + ".xls";
  response.setHeader("Content-disposition", "attachment;filename=" + fileName);
  OutputStream ouputStream = response.getOutputStream();
  wb.write(ouputStream);
  ouputStream.flush();
  ouputStream.close();
}

3.在service中需要將數(shù)據(jù)寫入到格式文件中:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
public HSSFWorkbook export(String userId, JSONObject jsonObj) {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("word");
HSSFRow row = sheet.createRow(0);
    HSSFCellStyle style = wb.createCellStyle();
    style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
List<PromotionWord> pWordList;
Map<String, Object> map = new HashMap<>();
map.put("userId", userId);
map.put("checkExistRule", jsonObj.getString("checkExistRule"));
map.put("status", jsonObj.getString("status"));
map.put("qsStar", jsonObj.getString("qsStar"));
 
map.put("impressionCount", jsonObj.getString("impressionCount"));
 
map.put("selectGroupId", jsonObj.getString("selectGroupId"));
map.put("isCheck", jsonObj.getString("isCheck"));
map.put("word", jsonObj.getString("word"));
 
Long impression = jsonObj.getLong("impressionCount");
Long click = jsonObj.getLong("clickCount");
if(impression != null){
PromotionWord word = new PromotionWord();
word.setCreatedBy(userId);
word.setImpressionCount7(impression);
pWordList = getTwentyPercentlists(word);
if(pWordList != null && pWordList.size() > 0){
map.put("impressionCount", pWordList.get(pWordList.size()-1).getImpressionCount());
}else{
map.put("impressionCount", 1);
}
}else if(click != null){
PromotionWord word = new PromotionWord();
word.setCreatedBy(userId);
word.setClickCount7(click);
pWordList = getTwentyPercentlists(word);
if(pWordList != null && pWordList.size() > 0){
map.put("clickCount", pWordList.get(pWordList.size()-1).getClickCount());
}else{
map.put("clickCount", 1);
}
}
 
List<PromotionWord> list = commonDao.queryList(PROMOTION_WORD_DAO + ".queryExportDataByUser", map);
 
 
String[] excelHeader = {"關(guān)鍵詞", "價格","搜索熱度","推廣評分","購買熱度","曝光量","點擊量","點擊率","推廣時長","花費","平均點擊花費","匹配產(chǎn)品數(shù)","預(yù)估排名","狀態(tài)"};
for (int i = 0; i < excelHeader.length; i++) {
      HSSFCell cell = row.createCell(i);
      cell.setCellValue(excelHeader[i]);
      cell.setCellStyle(style);
      if(i == 0){
      sheet.setColumnWidth(0, 30*256);
      }else{     
      sheet.setColumnWidth(i, 10*256);
      }
    }
if(list != null && list.size() > 0)
for (int i = 0; i < list.size(); i++) {
      row = sheet.createRow(i + 1);
      PromotionWord word = list.get(i);
      row.createCell(0).setCellValue(word.getWord());
      row.createCell(1).setCellValue(word.getPrice()+"");
      row.createCell(2).setCellValue(word.getSearchCount());
      row.createCell(3).setCellValue(word.getQsStar());
      row.createCell(4).setCellValue(word.getBuyCount());
      row.createCell(5).setCellValue(word.getImpressionCount7());
      row.createCell(6).setCellValue(word.getClickCount7());
      if(word.getClickCount7() == 0L){
      row.createCell(7).setCellValue("0.00%");
      }else{
      DecimalFormat df = new DecimalFormat("0.00%");
      row.createCell(7).setCellValue(df.format((Double.valueOf(word.getClickCount7())/Double.valueOf(word.getImpressionCount7()))));
      }
      row.createCell(8).setCellValue(word.getOnlineTime7());
      row.createCell(9).setCellValue(word.getCost7()+"");
      row.createCell(10).setCellValue(word.getAvgCost7()+"");
      row.createCell(11).setCellValue(word.getMatchCount());
      String rank = "";
      if(word.getMatchCount() != null && word.getMatchCount() != 0){
      if(word.getProspectRank() == null || word.getProspectRank() == 0L){      
       rank = "其他位置";
       }else{
       rank = "第"+word.getProspectRank()+"位";
       }
      }else{
      rank = "---";
      }
      
      row.createCell(12).setCellValue(rank);
      row.createCell(13).setCellValue(word.getStatus() == 1 ?"暫停":"啟動");
    }
 
return wb;
}

這樣之后就可以直接點擊導(dǎo)出就有效果了。

以上就是小編為大家?guī)淼腏avaWeb中導(dǎo)出excel文件的簡單方法全部內(nèi)容了,希望大家多多支持服務(wù)器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美亚洲高清日韩成人 | 欧美男男gaygaysxxx | 91久久国产视频 | 国产成人无精品久久久 | 美女被爆 | 青青久久精品国产 | 美女禁区视频无遮挡免费看 | 日韩一区二区中文字幕 | 亚洲成综合人影院在院播放 | caonila国产在线观看 | 亚洲色图2| 俄罗斯一级成人毛片 | 国产思妍小仙女一二区 | 亚洲香蕉伊在人在线观婷婷 | 给我免费观看的视频在线播放 | 女人把私密部位张开让男人桶 | 成人四虎 | 精品国产线拍大陆久久尤物 | 黑人chinese女人 | 亚洲免费福利视频 | 亚洲视频在线观看免费视频 | 韩国三级年轻小的胰子完整 | 免费日本在线 | 99热影院| 日本wwxx护士 | 99视频久久精品久久 | 金发美女与黑人做爰 | 国产探花在线观看 | 999精品视频这里只有精品 | 国产不卡视频一区二区在线观看 | 亚洲国产精品自在自线观看 | 欧美在线视频7777kkkk | 日韩成人在线免费视频 | 粉嫩高中生第一次不戴套 | 毛片在线免费观看网站 | 娇喘高潮教室h | bt岛www| 国产精品久久国产三级国电话系列 | 成人国产精品一区二区不卡 | 乌克兰一级片 | 贰佰麻豆剧果冻传媒一二三区 |