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

          JiaLiAoJava 的 Excel 讀寫庫

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

          jialiao(加里奧)

          全都是彩蛋的Excel讀寫庫

          Jiliao.r(Data.class) //選擇友方英雄(選擇目標(biāo))
                .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);
          
          //準(zhǔn)備數(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());
          //導(dǎo)出
          OutputStream os = new FileOutputStream("out/userOrder.xlsx");
          JiaLiAo.r(UserOrder.class, false)
                  .e(dataList)
                  .q("導(dǎo)出的訂單", os);
          //導(dǎo)入
          List<UserOrder> list = JiaLiAo.r(UserOrder.class, Boolean.FALSE)
                          .w(Boolean.TRUE, new FileInputStream("out/userOrder.xlsx"))
                          .q();

          改變導(dǎo)出Excel的順序和名稱

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

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

          格式轉(zhuǎn)換

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

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

          忽略屬性

          因?yàn)橐蕾嘕ackson,所有Jackson的注解都可以用

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

          其他

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

          依賴

          • POI

          • Jackson

          • Java 8

          有多強(qiáng)?

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

          瀏覽 26
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <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>
                  国产精品九九九九九九九九 | 日本无不卡中文字幕在线视频 | 日韩国产无码一区 | 亚洲日韩在线网站 | 男女操逼视频免费观看网站 |