<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Hutool Java 工具類庫導(dǎo)出 Excel,2步搞定!

          共 2905字,需瀏覽 6分鐘

           ·

          2021-07-29 05:38

          前言

          在開發(fā)應(yīng)用系統(tǒng)的時(shí)候,導(dǎo)出文件是必不可放的功能。以前用過POI、easyexcel等工具的導(dǎo)入導(dǎo)出功能,但總感覺太麻煩了,代碼特別多,感覺并不是很好用。
          今天給大家介紹一款新工具,java工具類庫Hutool。
          Hutool簡介
          Hutool是一個(gè)小而全的Java工具類庫,通過靜態(tài)方法封裝,降低相關(guān)API的學(xué)習(xí)成本,提高工作效率,使Java擁有函數(shù)式語言般的優(yōu)雅,讓使用者更輕松。
          Hutool中的工具方法來自于每個(gè)用戶的精雕細(xì)琢,它涵蓋了Java開發(fā)底層代碼中的方方面面,它既是大型項(xiàng)目開發(fā)中解決小問題的利器,也是小型項(xiàng)目中的效率擔(dān)當(dāng);
          Hutool是項(xiàng)目中“util”包友好的替代,它節(jié)省了開發(fā)人員對(duì)項(xiàng)目中公用類和公用工具方法的封裝時(shí)間,使開發(fā)專注于業(yè)務(wù),同時(shí)可以最大限度的避免封裝不完善帶來的bug。
          使用
          首先在POM.xml中加入GAV
          <dependency>
              <groupId>cn.hutool</groupId>
              <artifactId>hutool-all</artifactId>
              <version>5.0.7</version>
          </dependency>
          <dependency>
              <groupId>org.apache.poi</groupId>
              <artifactId>poi-ooxml</artifactId>
              <version>4.1.1</version>
          </dependency>
          <dependency>
              <groupId>org.apache.poi</groupId>
              <artifactId>poi-ooxml-schemas</artifactId>
              <version>3.17</version>
          </dependency>
          然后在控制層使用就行
          @RequestMapping("/export")
          @ResponseBody
          public void export(HttpServletResponse response)
          {
           List<User> list = new ArrayList<>();
           list.add(new User("zhangsan","1231",new Date()));
           list.add(new User("zhangsan1","1232",new Date()));
           list.add(new User("zhangsan2","1233",new Date()));
           list.add(new User("zhangsan3","1234",new Date()));
           list.add(new User("zhangsan4","1235",new Date()));
           list.add(new User("zhangsan5","1236", DateUtil.date(new Date())));
           // 通過工具類創(chuàng)建writer,默認(rèn)創(chuàng)建xls格式
           ExcelWriter writer = ExcelUtil.getWriter();
           //自定義標(biāo)題別名
           writer.addHeaderAlias("name", "姓名");
           writer.addHeaderAlias("age", "年齡");
           writer.addHeaderAlias("birthDay", "生日");
           // 合并單元格后的標(biāo)題行,使用默認(rèn)標(biāo)題樣式
           writer.merge(2, "申請(qǐng)人員信息");
           // 一次性寫出內(nèi)容,使用默認(rèn)樣式,強(qiáng)制輸出標(biāo)題
           writer.write(list, true);
           //out為OutputStream,需要寫出到的目標(biāo)流
           //response為HttpServletResponse對(duì)象
           response.setContentType("application/vnd.ms-excel;charset=utf-8");
           //test.xls是彈出下載對(duì)話框的文件名,不能為中文,中文請(qǐng)自行編碼
           String name = StringUtils.toUtf8String("申請(qǐng)學(xué)院");
           response.setHeader("Content-Disposition","attachment;filename="+name+".xls");
           ServletOutputStream out= null;
           try {
            out = response.getOutputStream();
            writer.flush(out, true);
           }
           catch (IOException e) {
            e.printStackTrace();
           }
           finally {
            // 關(guān)閉writer,釋放內(nèi)存
            writer.close();
           }
           //此處記得關(guān)閉輸出Servlet流
           IoUtil.close(out);
          }
          效果

          來源:https://urlify.cn/iu26vy

          分享一下我寫的《10萬字Springboot經(jīng)典學(xué)習(xí)筆記》中,點(diǎn)擊下面小卡片,進(jìn)入【Java禿頭哥】,回復(fù):筆記,即可免費(fèi)獲取。

          點(diǎn)贊是最大的支持 

          瀏覽 63
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  av岛国免费 | 影音先锋男人在线资源 | 日韩美女操逼网 | 天天干五月天婷婷 | 国产1234区 |