Java Hutool工具實現驗證碼生成及Excel文件的導入和導出

1、Hutool工具簡介

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

Hutool是一個小而全的Java工具類庫,通過靜態方法封裝,降低相關API的學習成本,提高工作效率,使Java擁有函數式語言般的優雅,讓Java語言也可以“甜甜的”。

2、Hutool的相關依賴

maven項目在pom.xml添加以下依賴即可:

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

3、驗證碼工具

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

 

4、excel工具

POI依賴導入,否則報錯

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導出

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

(2)excel導出詳細講解

實體類

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

測試類

//1. 創建一個Excel寫出工具Writer
        ExcelWriter writer = ExcelUtil.getWriter(true);
        //2. 設置別名
        writer.addHeaderAlias("id","編號");
        writer.addHeaderAlias("name","名字");
        writer.addHeaderAlias("age","年齡");
        writer.addHeaderAlias("birth","生日");
        //3. 先輸出一行標題(參數1是跨列數, 從0開始. 參數2 是標題字符串)
        writer.merge(3,"標題");
        //4. 模擬list集合數據
        List<User> users = getUsers();
        //5. 將users數據輸出到excel文件中.
        writer.write(users,true);// true表示並輸出標題。
        //6. 將填充數據後的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;
    }

(2)Excel導入

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

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

 

到此這篇關於Java Hutool工具實現驗證碼生成及Excel文件的導入和導出的文章就介紹到這瞭,更多相關Java Hutool工具內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: