国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java web將數據導出為Excel格式文件代碼片段

java web將數據導出為Excel格式文件代碼片段

2020-07-31 15:39夏詩鳶 Java教程

這篇文章主要為大家詳細介紹了java web將數據導出為Excel格式文件代碼片段,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java web將數據導出Excel格式文件的具體代碼,供大家參考,具體內容如下

1、jsp代碼

<input type="button" class="btn btn-info" onclick="getVerExcel();" value="導出為Excel文件" />

2、js代碼

?
1
2
3
4
function getVerExcel() {
  window.location.href = '/pms/jsp/version/getPrdVerListExcel?page='
      + $("#getPage").html() + '&key=' + $("#select").val();
}

3、java代碼

?
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/**
 *
 * Purpose :將產品版本列表導出為Excel文件
 * @param req
 *      請求
 * @param resp
 *      應答
 * @param page
 *      當前頁數
 * @param key
 *      查詢條件
 * @return
 */
@RequestMapping("getPrdVerListExcel")
public void getExcel(HttpServletRequest req, HttpServletResponse resp, Integer page, String key) {
  // 設置文件的mime類型
  resp.setContentType("application/vnd.ms-excel");
 
  // 得到所有的數據
  List<Version> verList = prdVersionSer.getAllPrdVersion(key);
  // 若沒有數據,則給用戶提示
  if (verList.size() == 0) {
    req.setAttribute("getFileMsg", "沒有符合條件的信息!");
    req.setAttribute("select", key);
    try {
      req.getRequestDispatcher("/jsp/version/ver_list.jsp").forward(req, resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  } else {
    // 存儲編碼后的文件名
    String name = "name";
    // 存儲文件名稱
    String n = "";
    if (key != "") {
      n = verList.get(0).getPrdName() + "的版本列表";
    } else {
      n = "產品版本列表";
    }
    try {
      name = URLEncoder.encode(n, "utf-8");
    } catch (UnsupportedEncodingException e1) {
      e1.printStackTrace();
    }
    resp.setHeader("content-disposition",
        "attachment;filename=" + name + ".xls;filename*=utf-8''" + name + ".xls");
 
    System.out.println("key:" + key);
 
    // 從session中刪除saveExcelMsg屬性
    req.getSession().removeAttribute("saveExcelMsg");
    // 定義一個輸出流
    ServletOutputStream sos = null;
 
    // 創建一個工作簿
    HSSFWorkbook wb = new HSSFWorkbook();
    // 創建一個工作表
    HSSFSheet sheet = null;
    if (key != "") {
      sheet = wb.createSheet(verList.get(0).getPrdName() + "的版本信息");
    } else {
      sheet = wb.createSheet("產品版本信息");
    }
    // 返回數據格式對象
    // 從格式對象中獲取對應日期格式的編號,如果格式不存在,該方法會為它生成新的編號
    HSSFDataFormat format = wb.createDataFormat();
    short dfNum = format.getFormat("yyyy-mm-dd");
    // 創建樣式對象
    CellStyle style = wb.createCellStyle();
    // 設置數據格式
    style.setDataFormat(dfNum);
    // 創建第一行(表格標題)
    HSSFRow row = sheet.createRow(0);
    HSSFCell cell = row.createCell(0, HSSFCell.CELL_TYPE_STRING);
    if (key != "") {
      cell.setCellValue(verList.get(0).getPrdName() + "的產品版本列表");
    } else {
      cell.setCellValue("產品版本列表");
    }
 
    // 創建第二行(表頭)
    row = sheet.createRow(1);
    cell = row.createCell(0, HSSFCell.CELL_TYPE_STRING);
    cell.setCellValue("序號");
 
    cell = row.createCell(1, HSSFCell.CELL_TYPE_STRING);
    cell.setCellValue("產品名稱");
 
    cell = row.createCell(2, HSSFCell.CELL_TYPE_STRING);
    cell.setCellValue("版本號");
 
    cell = row.createCell(3, HSSFCell.CELL_TYPE_STRING);
    cell.setCellValue("發布日期");
 
    cell = row.createCell(4, HSSFCell.CELL_TYPE_STRING);
    cell.setCellValue("版本類型");
 
    cell = row.createCell(5, HSSFCell.CELL_TYPE_STRING);
    cell.setCellValue("版本描述");
 
    int num = 1;
    // 遍歷輸出verList中的數據,將其存入Excel中
    for (int i = 0; i < verList.size(); i++) {
      row = sheet.createRow(i + 2);
      // 寫入序號
      cell = row.createCell(0, HSSFCell.CELL_TYPE_NUMERIC);
      cell.setCellValue(num);
      num++;
      // 寫入產品名稱
      cell = row.createCell(1, HSSFCell.CELL_TYPE_STRING);
      cell.setCellValue(verList.get(i).getPrdName());
      // 寫入版本號
      cell = row.createCell(2, HSSFCell.CELL_TYPE_STRING);
      cell.setCellValue(verList.get(i).getVerNo());
 
      // 寫入發布日期(日期格式做處理)
      cell = row.createCell(3, HSSFCell.CELL_TYPE_STRING);
      // 將樣式應用于單元格
      cell.setCellStyle(style);
      cell.setCellValue(verList.get(i).getVerDate());
 
      // 寫入版本類型
      cell = row.createCell(4, HSSFCell.CELL_TYPE_STRING);
      cell.setCellValue(verList.get(i).getVerType());
 
      // 寫入版本描述
      cell = row.createCell(5, HSSFCell.CELL_TYPE_STRING);
      cell.setCellValue(verList.get(i).getVerDesc());
    }
    try {
      // 保存到文件中
      sos = resp.getOutputStream();
      wb.write(sos);
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      if (sos != null) {
        try {
          sos.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久久久久亚洲精品 | 久久国产精品久久久久久 | 天天干天天看天天操 | 日韩中文字幕一区二区 | 亚洲欧美视频 | 久久伊人精品网 | 亚洲视频免费观看 | 欧美精品成人一区二区三区四区 | 国产精品久久久久久久久久久久久 | 一区二区在线影院 | 精品一区二区三区中文字幕老牛 | 久久久999国产 | av不卡在线播放 | 国产91精品亚洲精品日韩已满 | 国产精品午夜电影 | 香蕉久久夜色精品国产使用方法 | 欧美在线视频一区二区 | 中文字幕高清在线 | 成人免费视频网站 | 国产日韩欧美 | 国产在线国产 | 成人av网站免费观看 | 国产精品不卡一区二区三区 | 91av在线视频播放 | 色婷婷综合久久久中字幕精品久久 | 久久草在线视频 | 毛片黄片免费观看 | 久久久久久久久久久动漫 | 成人免费xxxxx在线观看 | 日韩一区精品 | 欧美日本一区 | 成年人在线观看 | 久久艹综合 | 黄色国产在线视频 | 精品中文字幕一区二区 | 亚洲欧美久久 | 午夜视频在线观看网站 | 超碰一区二区三区 | 日韩国产精品一区二区三区 | 在线观看亚洲成人 | 午夜精品网站 |