<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 工具類庫(kù)導(dǎo)出 Excel,超級(jí)簡(jiǎn)單!

          共 1926字,需瀏覽 4分鐘

           ·

          2021-01-23 00:26


          來(lái)源:toutiao.com/i6771298852050829835




          在開(kāi)發(fā)應(yīng)用系統(tǒng)的時(shí)候,導(dǎo)出文件是必不可放的功能。

          以前用過(guò)POI、easyexcel等工具的導(dǎo)入導(dǎo)出功能,但總感覺(jué)太麻煩了,代碼特別多,感覺(jué)并不是很好用。

          今天給大家介紹一款新工具,java工具類庫(kù)Hutool。

          Hutool簡(jiǎn)介

          Hutool是一個(gè)小而全的Java工具類庫(kù),通過(guò)靜態(tài)方法封裝,降低相關(guān)API的學(xué)習(xí)成本,提高工作效率,使Java擁有函數(shù)式語(yǔ)言般的優(yōu)雅,讓使用者更輕松。

          Hutool中的工具方法來(lái)自于每個(gè)用戶的精雕細(xì)琢,它涵蓋了Java開(kāi)發(fā)底層代碼中的方方面面,它既是大型項(xiàng)目開(kāi)發(fā)中解決小問(wèn)題的利器,也是小型項(xiàng)目中的效率擔(dān)當(dāng);

          Hutool是項(xiàng)目中“util”包友好的替代,它節(jié)省了開(kāi)發(fā)人員對(duì)項(xiàng)目中公用類和公用工具方法的封裝時(shí)間,使開(kāi)發(fā)專注于業(yè)務(wù),同時(shí)可以最大限度的避免封裝不完善帶來(lái)的bug。

          首先在POM.xml中加入GAV

          <dependency>
          ????<groupId>cn.hutoolgroupId>
          ????<artifactId>hutool-allartifactId>
          ????<version>5.0.7version>
          dependency>
          <dependency>
          ????<groupId>org.apache.poigroupId>
          ????<artifactId>poi-ooxmlartifactId>
          ????<version>4.1.1version>
          dependency>
          <dependency>
          ????<groupId>org.apache.poigroupId>
          ????<artifactId>poi-ooxml-schemasartifactId>
          ????<version>3.17version>
          dependency>

          然后在控制層使用就行

          @RequestMapping("/export")
          @ResponseBody
          public?void?export(HttpServletResponse?response){
          ?List?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())));
          ?//?通過(guò)工具類創(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)人員信息");
          ?//?一次性寫(xiě)出內(nèi)容,使用默認(rèn)樣式,強(qiáng)制輸出標(biāo)題
          ?writer.write(list,?true);
          ?//out為OutputStream,需要寫(xiě)出到的目標(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);
          }

          效果






          推薦閱讀

          瀏覽 57
          點(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>
                  学生妹日逼一级片 | ijⅰjzzijⅰjzz日本 | 三年秘 无码一区二区三区 | 天天干天天舔 | 男人的天堂网2 |