Java 的 Excel 读写库 JiaLiAo

码农软件 · 软件分类 · Excel开发包 · 2019-09-16 12:58:59

软件介绍

jialiao(加里奥)

全都是彩蛋的Excel读写库

Jiliao.r(Data.class) //选择友方英雄(选择目标)
      .w() //w吸收伤害并嘲讽(读) / .e() //e击飞(写)
      .q() //持续伤害(返回结果)

开始使用

pom.xml增加依赖

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

梨子代码

//设置时间格式
ObjectMapper mapper = new ObjectMapper();
SimpleDateFormat myDateFormat = new SimpleDateFormat("yyyy-MM-dd HH🇲🇲ss");
mapper.setDateFormat(myDateFormat);
JiaLiAo.renascence(mapper);

//准备数据
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),数字越小越靠前。value是字段对应表头的名称。cellType是导出单元格的数据类型,不能保证一定符合

@JiaLiAo.ExcelCell(value = "订单总数",order = 1,cellType = CellType.NUMERIC)
private Long totalOrder;

格式转换

为了少写轮子代码,类型转换借用了Jackson。如果需要转换格式,比如日期、金额。可以使用renascence方法改变Jackson的ObjectMapper的配置

//设置时间格式
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

有多强?

看这战绩就应该知道加里奥有多厉害了(傲娇脸)

本文地址:https://codercto.com/soft/d/14720.html

Remote

Remote

Jason Fried、David Heinemeier Hansson / Crown Business / 2013-10-29 / CAD 26.95

The “work from home” phenomenon is thoroughly explored in this illuminating new book from bestselling 37signals founders Fried and Hansson, who point to the surging trend of employees working from hom......一起来看看 《Remote》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具