自定义导入 - wujiuye/miniexcel GitHub Wiki
使用miniexcel提供的默认读取监听器
- 支持只读取某些列;
- 读取的数据每行使用Map存储;
列: 表格列:订单id、订单号、会员ID、下单时间、订单状态 假设只读取表格的 订单id和会员ID 列:
@Test
public void testDefault() {
AbstractExcelReader excelReader = AbstractExcelReader.getReader("/tmp/order.xlsx", true);
DefaultExcelReaderListener readerListener = new DefaultExcelReaderListener("订单ID", "会员ID");
excelReader.read(readerListener);
List<Map<String, Object>> dateModelList = readerListener.getData();
}
自定义读取监听器
在实际项目开发中,我们可能会遇到很多“意外”的需求场景,如标题名称不固定,没有固定的模版。面对这种情况我们,我们可通过自定义读取监听器解决。
可通过实现ExcelReaderListener
接口或者继承ExcelReaderListenerAdapter实现自定义读取监听器。
@Test
public void testDayRead() {
AbstractExcelReader excelReader = AbstractExcelReader.getReader("/tmp/test.xlsx", true);
ExcelReaderListener readerListener = new ExcelReaderListenerAdapter() {
@Override
public void onReadRow(Object data, int rowNumber, int cellNumber) {
System.out.println("行号:" + rowNumber + ",列号:" + cellNumber + ",单元格内容:" + data);
// 自己存储读取到的数据数据
}
};
excelReader.read(readerListener);
}