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

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

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - springmvc實現導出數據信息為excle表格示例代碼

springmvc實現導出數據信息為excle表格示例代碼

2020-07-23 11:55GreenRookie JAVA教程

本篇文章主要介紹了springmvc實現導出數據信息為excle表格,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧。

1.項目增加導出日志信息

2.項目中導入poi-*.jar等操作excel文件的jar文件

  • poi-3.7-20120326.jar
  • poi-excelant-3.7-20101029.jar
  • poi-ooxml-3.7.jar
  • poi-ooxml-schemas-3.7.jar

Excel導出就是根據前臺條件將參數傳到controller,根據參數去數據庫中進行查詢,查詢出list集合,將list集合生成excle數據下載。

代碼片段:

Contorller.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
/**
   * 導出信息
   * @param model
   */
  @RequestMapping("exportCustomer.do")
  @SystemControllerLog(description = "數據庫表單導出Excle")
  public void exportCustomer(ModelMap model) {
    //TODO 如需添加條件
    //model.addAttribute("username", nameStr);
    //獲取需要導出的數據List
    List<CMcustomer> cusList=customerService.exportCustomer(model);
      //使用方法生成excle模板樣式
    HSSFWorkbook workbook = customerService.createExcel(cusList, request);
    SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); // 定義文件名格式
 
    try {
    //定義excle名稱 ISO-8859-1防止名稱亂碼
      String msg = new String(
          ("客戶信息_" + format.format(new Date()) + ".xls").getBytes(),
          "ISO-8859-1");
      // 以導出時間作為文件名
      response.setContentType("application/vnd.ms-excel");
      response.addHeader("Content-Disposition", "attachment;filename="
          + msg);
      workbook.write(response.getOutputStream());
    } catch (IOException e) {
      logger.error(e);
    }
  }

2.Service中createExcel方法

?
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
public HSSFWorkbook createExcel(List<CMcustomer> cusList,
    HttpServletRequest request) {
 
    // 創建一個webbook,對應一個excel文件
    HSSFWorkbook workbook = new HSSFWorkbook();
    // 在webbook中添加一個sheet,對應excel文件中的sheet
    HSSFSheet sheet = workbook.createSheet("客戶信息表");
    // 設置列寬
    sheet.setColumnWidth(0, 25 * 100);
    sheet.setColumnWidth(1, 35 * 100);
    sheet.setColumnWidth(2, 35 * 100);
    sheet.setColumnWidth(3, 40 * 100);
    sheet.setColumnWidth(4, 45 * 100);
    sheet.setColumnWidth(5, 45 * 100);
    sheet.setColumnWidth(6, 50 * 100);
    sheet.setColumnWidth(7, 80 * 100);
    sheet.setColumnWidth(8, 35 * 100);
    sheet.setColumnWidth(9, 40 * 100);
    // 在sheet中添加表頭第0行
    HSSFRow row = sheet.createRow(0);
    // 創建單元格,并設置表頭,設置表頭居中
    HSSFCellStyle style = workbook.createCellStyle();
    // 創建一個居中格式
    style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
    // 帶邊框
    style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    // 生成一個字體
    HSSFFont font = workbook.createFont();
    // 字體增粗
    font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
    // 字體大小
    font.setFontHeightInPoints((short) 12);
    // 把字體應用到當前的樣式
    style.setFont(font);
 
    // 單獨設置整列居中或居左
    HSSFCellStyle style1 = workbook.createCellStyle();
    style1.setAlignment(HSSFCellStyle.ALIGN_CENTER);
    HSSFCellStyle style2 = workbook.createCellStyle();
    style2.setAlignment(HSSFCellStyle.ALIGN_LEFT);
 
    HSSFCellStyle style3 = workbook.createCellStyle();
    style3.setAlignment(HSSFCellStyle.ALIGN_LEFT);
    HSSFFont hssfFont = workbook.createFont();
    hssfFont.setColor(HSSFFont.COLOR_RED);
    hssfFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
    style3.setFont(hssfFont);
 
    HSSFCellStyle style4 = workbook.createCellStyle();
    style4.setAlignment(HSSFCellStyle.ALIGN_LEFT);
    HSSFFont hssfFont1 = workbook.createFont();
    hssfFont1.setColor(HSSFFont.COLOR_NORMAL);
    hssfFont1.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
    style4.setFont(hssfFont1);
 
    HSSFCell cell = row.createCell(0);
    cell.setCellValue("序號");
    cell.setCellStyle(style);
 
    cell = row.createCell(1);
    cell.setCellValue("客戶姓名");
    cell.setCellStyle(style);
 
    cell = row.createCell(2);
    cell.setCellValue("性別");
    cell.setCellStyle(style);
 
    cell = row.createCell(3);
    cell.setCellValue("狀態");
    cell.setCellStyle(style);
 
    cell = row.createCell(4);
    cell.setCellValue("電話");
    cell.setCellStyle(style);
 
    cell = row.createCell(5);
    cell.setCellValue("郵箱");
    cell.setCellStyle(style);
 
    cell = row.createCell(6);
    cell.setCellValue("地址");
    cell.setCellStyle(style);
    for (int i = 0; i < cusList.size(); i++) {
      String logTypeDis = "";
      row = sheet.createRow(i + 1);
      CMcustomer cMcustomer = cusList.get(i);
      // 創建單元格,并設置值
      // 編號列居左
      HSSFCell c1 = row.createCell(0);
      c1.setCellStyle(style2);
      c1.setCellValue(i);
      HSSFCell c2 = row.createCell(1);
      c2.setCellStyle(style1);
      c2.setCellValue(cMcustomer.getCustomername());//客戶姓名
 
      String sexStr = cMcustomer.getSex();//性別 0:女,1:男
      String sex="";
      if ("1".equals(sexStr)) {
        sex="男";
      }
      if ("0".equals(sexStr)) {
        sex="女";
      }
      HSSFCell c3 = row.createCell(2);//性別
      c3.setCellStyle(style1);
      c3.setCellValue(sex);
       
      String statusStr = cMcustomer.getStatus();//客戶狀態1.在職,2.離職
      String status="";
      if ("1".equals(statusStr)) {
        status="在職";
      }
      if ("2".equals(statusStr)) {
        status="離職";
      }
      HSSFCell c4 = row.createCell(3);//狀態
      c4.setCellStyle(style1);
      c4.setCellValue(status);
      String customerid = cMcustomer.getCustomerid();//客戶id
      List<CMphone> phoneList = cMphoneMapper.selectByCustomerid(customerid);
      String phone="";
      if (phoneList!=null&&phoneList.size()>0) {
        for (int j = 0; j < phoneList.size(); j++) {
          phone = phoneList.get(j).getPhone();
        }
      }
      HSSFCell c5 = row.createCell(4);//電話
      c5.setCellStyle(style1);
      c5.setCellValue(phone);
      List<CMemail> emailList = cMemailMapper.selectAll(customerid);
      String email="";
      if (emailList!=null&&emailList.size()>0) {
        for (int j = 0; j < emailList.size(); j++) {
          email = emailList.get(j).getEmail();
        }
      }
      HSSFCell c6 = row.createCell(5);//郵箱
      c6.setCellStyle(style1);
      c6.setCellValue(email);
      CMaddress cMaddress=new CMaddress();
      cMaddress.setCustomerid(customerid);
    List<CMaddress> adderssList = cMaddressMapper.selectAll(cMaddress);
      String adderss="";
      if (adderssList!=null&&adderssList.size()>0) {
        for (int j = 0; j < adderssList.size(); j++) {
          adderss = adderssList.get(j).getAddress();
        }
      }
      HSSFCell c7 = row.createCell(6);//地址
      c7.setCellStyle(style1);
      c7.setCellValue(adderss);
 
      //使用默認格式
      row.createCell(1).setCellValue(cMcustomer.getCustomername());
      row.createCell(2).setCellValue(sex);
      row.createCell(3).setCellValue(status);
      row.createCell(4).setCellValue(phone);
      row.createCell(5).setCellValue(email);
      row.createCell(6).setCellValue(adderss);
    }
    return workbook;
}

3.頁面jsp調用

?
1
2
3
4
5
6
7
8
9
10
11
//導出信息
    function exporBtn(){
    $.ajax({
      type:"POST",
      url:"<%=path%>/customer/exportCustomer.do",
      success:function(data){
        window.open('<%=path%>/customer/exportCustomer.do');
      }
       
    });
  }

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

原文鏈接:http://blog.csdn.net/fiangasdre/article/details/51741580

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美无专区 | 色婷婷激婷婷深爱五月老司机 | 大学生情侣在线 | 天堂激情网 | 欧美日本一区视频免费 | 日本三级在线观看免费 | 精品久久香蕉国产线看观看麻豆 | yy111111免费观看 | 国产成年人网站 | 亚洲 欧美 日韩 国产 视频 | beeg日本高清xxxx18 | 日韩精品欧美 | 91免费播放人人爽人人快乐 | 欧美一级艳片视频免费观看 | 亚洲精品青青草原avav久久qv | 98在线视频噜噜噜国产 | 日韩精品中文字幕视频一区 | 免费一区二区 | 欧美视频免费 | 日本高清免费中文字幕不卡 | 日本特黄一级午夜剧场毛片 | 免费看黄色片的网站 | 亚洲精品乱码久久久久久蜜桃图片 | 沉香如屑西瓜视频免费观看完整版 | 国产日韩高清一区二区三区 | 亚洲国产精品自在自线观看 | 3d动漫被吸乳羞羞 | 欧美一级欧美三级在线 | 5g影院天天爽 | 成人网子| 欧美成人一区二区 | 日本老妇人乱视频 | 国产午夜精品一区二区三区不卡 | 成人免费在线视频 | 99在线在线视频免费视频观看 | 国产亚洲99影院 | 精品欧美一区二区三区在线观看 | 色淫影院 | 免费成年人在线视频 | 亚洲天堂成人在线 | 欧美成人免费tv在线播放 |