溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用Java?Hutool工具實(shí)現(xiàn)驗(yàn)證碼生成及Excel文件的導(dǎo)入和導(dǎo)出

發(fā)布時(shí)間:2021-11-30 17:33:02 來源:億速云 閱讀:358 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“怎么用Java Hutool工具實(shí)現(xiàn)驗(yàn)證碼生成及Excel文件的導(dǎo)入和導(dǎo)出”,在日常操作中,相信很多人在怎么用Java Hutool工具實(shí)現(xiàn)驗(yàn)證碼生成及Excel文件的導(dǎo)入和導(dǎo)出問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”怎么用Java Hutool工具實(shí)現(xiàn)驗(yàn)證碼生成及Excel文件的導(dǎo)入和導(dǎo)出”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

1、Hutool工具簡介

HuTool工具(糊涂工具),第三方插件工具,簡化操作,是國產(chǎn)的一個(gè)產(chǎn)品,界面簡潔易懂,比較人性化。(上班可能經(jīng)常用的到,建議收藏起來)

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

2、Hutool的相關(guān)依賴

maven項(xiàng)目在pom.xml添加以下依賴即可:

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>4.6.3</version>
</dependency>

3、驗(yàn)證碼工具

   @Test
    public void hutoolCodeTest() throws FileNotFoundException {
        /**、
         * 1、創(chuàng)建一個(gè)驗(yàn)證碼:
         *  驗(yàn)證碼 captcha['k?pt??]
         *  line:線條
         *  參數(shù)說明
         *  width:寬度
         *  height:高度
         *  codeCount:字符數(shù)量
         *  lineCount:干擾線數(shù)量
         */
        LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 40, 4, 4);
        //2.獲得生成的驗(yàn)證碼的真實(shí)碼值
        String code = lineCaptcha.getCode();
        System.out.println(code);
        //3.將驗(yàn)證碼圖片輸出到D盤根目錄下
        lineCaptcha.write(new FileOutputStream("D:/text.png"));
    }

怎么用Java?Hutool工具實(shí)現(xiàn)驗(yàn)證碼生成及Excel文件的導(dǎo)入和導(dǎo)出 

4、excel工具

POI依賴導(dǎo)入,否則報(bào)錯(cuò)

You need to add dependency of 'poi-ooxml' to your project, and version >= 3.17

 <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>3.17</version>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml-schemas</artifactId>
      <version>3.17</version>
    </dependency>

(1)Exel導(dǎo)出

 @Test
    public void HutollDownLoadExcelTest() throws FileNotFoundException {
        //1.創(chuàng)建一個(gè)Excel寫出工具Writer
        ExcelWriter writer = ExcelUtil.getWriter(true);
        //2.模擬List數(shù)據(jù)
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        //3.將list數(shù)據(jù)輸出到excel中
        writer.write(list);
        //4. 將填充數(shù)據(jù)后的excel文件保存在d盤文件中.
        writer.flush(new FileOutputStream("d:/id.xlsx"));
    }

怎么用Java?Hutool工具實(shí)現(xiàn)驗(yàn)證碼生成及Excel文件的導(dǎo)入和導(dǎo)出

(2)excel導(dǎo)出詳細(xì)講解

實(shí)體類

public class User {
    private String id;
    private String name;
    private Integer age;

測試類

//1. 創(chuàng)建一個(gè)Excel寫出工具Writer
        ExcelWriter writer = ExcelUtil.getWriter(true);
        //2. 設(shè)置別名
        writer.addHeaderAlias("id","編號(hào)");
        writer.addHeaderAlias("name","名字");
        writer.addHeaderAlias("age","年齡");
        writer.addHeaderAlias("birth","生日");
        //3. 先輸出一行標(biāo)題(參數(shù)1是跨列數(shù), 從0開始. 參數(shù)2 是標(biāo)題字符串)
        writer.merge(3,"標(biāo)題");
        //4. 模擬list集合數(shù)據(jù)
        List<User> users = getUsers();
        //5. 將users數(shù)據(jù)輸出到excel文件中.
        writer.write(users,true);// true表示并輸出標(biāo)題。
        //6. 將填充數(shù)據(jù)后的excel文件保存在d盤文件中.
        writer.flush(new FileOutputStream("D:/users.xlsx"));
    }

    private List<User> getUsers(){
        List<User> list = new ArrayList<>();
        list.add(new User("1001","張三",18,new Date()));
        list.add(new User("1002","張三",18,new Date()));
        list.add(new User("1003","張三",18,new Date()));
        list.add(new User("1004","張三",18,new Date()));
        return list;
    }

怎么用Java?Hutool工具實(shí)現(xiàn)驗(yàn)證碼生成及Excel文件的導(dǎo)入和導(dǎo)出

(2)Excel導(dǎo)入

 @Test
    public void HutollUploadExcelTest() throws FileNotFoundException {
        //1. 創(chuàng)建一個(gè)Excel讀取工具reader
        ExcelReader reader = ExcelUtil.getReader(new FileInputStream("D:/users.xlsx"));
        //2. 設(shè)置讀取的數(shù)據(jù)的別名和封裝的實(shí)體的屬性對(duì)應(yīng)關(guān)系.
        reader.addHeaderAlias("編號(hào)","id");
        reader.addHeaderAlias("名字","name");
        reader.addHeaderAlias("年齡","age");
        reader.addHeaderAlias("生日","birth");
    /*
        reader讀取excel文件數(shù)據(jù)
        參數(shù)說明
            headerRowIndex: 映射的數(shù)據(jù)標(biāo)題在第幾行, 從0開始算.
            startRowIndex: 實(shí)際讀取的數(shù)據(jù)從第幾行開始, 從0開始算.
            class: 讀取的數(shù)據(jù)封裝成什么類型的對(duì)象

     */
        List<User> users = reader.read(1, 2, User.class);
        // 輸出返回的users集合
        System.out.println(users);
        // 輸出users的大小.
        System.out.println(users.size());
    }

 怎么用Java?Hutool工具實(shí)現(xiàn)驗(yàn)證碼生成及Excel文件的導(dǎo)入和導(dǎo)出

到此,關(guān)于“怎么用Java Hutool工具實(shí)現(xiàn)驗(yàn)證碼生成及Excel文件的導(dǎo)入和導(dǎo)出”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI