1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        JiaLiAoJava 的 Excel 讀寫庫

        聯(lián)合創(chuàng)作 · 2023-09-29 22:06

        jialiao(加里奧)

        全都是彩蛋的Excel讀寫庫

        Jiliao.r(Data.class) //選擇友方英雄(選擇目標)
              .w() //w吸收傷害并嘲諷(讀) / .e() //e擊飛(寫)
              .q() //持續(xù)傷害(返回結(jié)果)

        開始使用

        pom.xml增加依賴

        <dependency>
          <groupId>com.github.liuyuyu</groupId>
          <artifactId>jialiao</artifactId>
          <version>1.0.1</version>
        </dependency>

        梨子代碼

        //設(shè)置時間格式
        ObjectMapper mapper = new ObjectMapper();
        SimpleDateFormat myDateFormat = new SimpleDateFormat("yyyy-MM-dd HH????ss");
        mapper.setDateFormat(myDateFormat);
        JiaLiAo.renascence(mapper);
        
        //準備數(shù)據(jù)
        List<UserOrder> dataList = IntStream.range(0, 100)
                .boxed()
                .map(i -> {
                    UserOrder userOrder = new UserOrder();
                    userOrder.setMobile("1330000" + i);
                    userOrder.setTotalMoney(BigDecimal.valueOf(i));
                    userOrder.setTotalOrder(Long.valueOf(i));
                    userOrder.setUserName("user-" + i);
                    userOrder.setCreatedTime(new Date());
                    return userOrder;
                })
                .collect(Collectors.toList());
        //導出
        OutputStream os = new FileOutputStream("out/userOrder.xlsx");
        JiaLiAo.r(UserOrder.class, false)
                .e(dataList)
                .q("導出的訂單", os);
        //導入
        List<UserOrder> list = JiaLiAo.r(UserOrder.class, Boolean.FALSE)
                        .w(Boolean.TRUE, new FileInputStream("out/userOrder.xlsx"))
                        .q();

        改變導出Excel的順序和名稱

        JiaLiAo.ExcelCellorder表示字段的順序(不是index),數(shù)字越小越靠前。value是字段對應(yīng)表頭的名稱。cellType是導出單元格的數(shù)據(jù)類型,不能保證一定符合

        @JiaLiAo.ExcelCell(value = "訂單總數(shù)",order = 1,cellType = CellType.NUMERIC)
        private Long totalOrder;

        格式轉(zhuǎn)換

        為了少寫輪子代碼,類型轉(zhuǎn)換借用了Jackson。如果需要轉(zhuǎn)換格式,比如日期、金額??梢允褂?code>renascence方法改變Jackson的ObjectMapper的配置

        //設(shè)置時間格式
        ObjectMapper mapper = new ObjectMapper();
        SimpleDateFormat myDateFormat = new SimpleDateFormat("yyyy-MM-dd HH????ss");
        mapper.setDateFormat(myDateFormat);
        JiaLiAo.renascence(mapper);

        忽略屬性

        因為依賴Jackson,所有Jackson的注解都可以用

        /**
         * 訂單總金額
         */
        @JsonIgnore
        private BigDecimal totalMoney;

        其他

        Jackson的其他騷操作也可以用起來了。

        依賴

        • POI

        • Jackson

        • Java 8

        有多強?

        看這戰(zhàn)績就應(yīng)該知道加里奧有多厲害了(傲嬌臉)

        瀏覽 26
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产日韩欧美第一页 | A片免费播放视频 | 国产又粗又大又长 | 麻酥酥视频在线观看 | 一级黄色免费观看视频 | 丰满岳乱在线观看视频国产 | 天天干B 天天操比网 | 少萝裸体电影 | 亚洲香蕉成人AV网站在线观看 | 亚洲中文字幕图 |