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

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

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

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - JavaWeb導出Excel文件并彈出下載框

JavaWeb導出Excel文件并彈出下載框

2020-05-22 11:16u010844111 JAVA教程

這篇文章主要為大家詳細介紹了JavaWeb導出Excel文件并彈出下載框的相關資料,感興趣的小伙伴們可以參考一下

一、引言

在Java Web開發(fā)中經常涉及到報表,最近做的項目中需要實現(xiàn)將數(shù)據(jù)庫中的數(shù)據(jù)顯示為表格,并且實現(xiàn)導出為Excel文件的功能。

二、相關jar包

使用POI可以很好的解決Excel的導入和導出的問題,POI下載地址:
poi-3.6-20091214.jar

三、關鍵代碼

首先導入上述jar包。
在生成excel時一般數(shù)據(jù)源形式為一個List,下面把生成Excel格式的代碼貼出來:

?
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
/**
       * 以下為生成Excel操作
       */
      // 1.創(chuàng)建一個workbook,對應一個Excel文件
      HSSFWorkbook wb = new HSSFWorkbook();
      // 2.在workbook中添加一個sheet,對應Excel中的一個sheet
      HSSFSheet sheet = wb.createSheet("XXX表");
      // 3.在sheet中添加表頭第0行,老版本poi對excel行數(shù)列數(shù)有限制short
      HSSFRow row = sheet.createRow((int) 0);
      // 4.創(chuàng)建單元格,設置值表頭,設置表頭居中
      HSSFCellStyle style = wb.createCellStyle();
      // 居中格式
      style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
 
      // 設置表頭
      HSSFCell cell = row.createCell(0);
      cell.setCellValue("表頭1");
      cell.setCellStyle(style);
 
      cell = row.createCell(1);
      cell.setCellValue("表頭2");
      cell.setCellStyle(style);
 
      cell = row.createCell(2);
      cell.setCellValue("表頭3");
      cell.setCellStyle(style);
 
      cell = row.createCell(3);
      cell.setCellValue("表頭4");
      cell.setCellStyle(style);
 
      cell = row.createCell(4);
      cell.setCellValue("表頭5");
      cell.setCellStyle(style);

生成excel格式后要將數(shù)據(jù)寫入excel:

?
1
2
3
4
5
6
7
8
9
10
11
// 循環(huán)將數(shù)據(jù)寫入Excel
      for (int i = 0; i < lists.size(); i++) {
        row = sheet.createRow((int) i + 1);
        List list= lists.get(i);
        // 創(chuàng)建單元格,設置值
        row.createCell(0).setCellValue(list.getXXX());
        row.createCell(1).setCellValue(list.getXXX());
        row.createCell(2).setCellValue(list.getXXX());
        row.createCell(3).setCellValue(list.getXXX());
        row.createCell(4).setCellValue(list.getXXX());
      }

之后將生成的Excel以流輸出。
*不彈出下載框

?
1
2
3
FileOutputStream out =new FileOutputStream("E:/XXX.xls");
wb.write(out);
out.close();

*彈出下載框

 

?
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
String fileName = "XXX表";
      ByteArrayOutputStream os = new ByteArrayOutputStream();
      wb.write(os);
      byte[] content = os.toByteArray();
      InputStream is = new ByteArrayInputStream(content);
      // 設置response參數(shù),可以打開下載頁面
      res.reset();
      res.setContentType("application/vnd.ms-excel;charset=utf-8");
      res.setHeader("Content-Disposition", "attachment;filename="
          + new String((fileName + ".xls").getBytes(), "iso-8859-1"));
      ServletOutputStream out = res.getOutputStream();
      BufferedInputStream bis = null;
      BufferedOutputStream bos = null;
 
      try {
        bis = new BufferedInputStream(is);
        bos = new BufferedOutputStream(out);
        byte[] buff = new byte[2048];
        int bytesRead;
        // Simple read/write loop.
        while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
          bos.write(buff, 0, bytesRead);
        }
      } catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
      } finally {
        if (bis != null)
          bis.close();
        if (bos != null)
          bos.close();
      }

完成以上操作之后即可跳轉到其他頁面。
同時POI還可以將Excel上傳解析顯示在網頁中,這個另一篇文章總結,敬請期待!

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

延伸 · 閱讀

精彩推薦
655
主站蜘蛛池模板: 精品国产乱码一区二区三区 | 亚洲免费美女视频 | 国产精品一区二区三 | 天天影视网色香欲综合网无拦截 | 日本不卡一区 | 成人免费在线观看 | 亚洲欧美中文字幕 | 欧美日韩精品免费 | 91视频.com| 亚洲国产一区二区三区日本久久久 | 亚洲成人福利网 | 亚洲情综合五月天 | 91精品视频免费在线观看 | 日本午夜精品 | 国产高清无密码一区二区三区 | 亚洲一视频 | 欧美 日韩 综合 | 久久首页 | 日日干夜夜操 | 日本视频中文字幕 | 伊人久久综合 | 日韩和的一区二在线 | 亚洲国产精品久久久久婷婷老年 | 久久精品国产精品青草 | 在线91 | 麻豆产精国品免费入口 | 国产免费视频在线 | 欧美顶级毛片在线播放 | 成人在线播放 | 国产一区二区三区四区五区密私 | 中文字幕亚洲一区二区三区 | 在线欧美一区 | 免费成人黄色 | 欧美精品xx | 91色乱码一区二区三区 | 久色视频在线观看 | 日本视频免费观看 | 欧美电影一区 | 欧美日韩成人网 | 国产精品一二三 | 香蕉影院在线观看 |