自定义导入 - 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);
    }