EasyExecl读操作

2021-12-06  本文已影响0人  一曲三月

1.简单读

ExcelReader reader=EasyExcelFactory.getReader(new FileInputStream(str), new AnalysisEventListener() {
            // 一行行读取表格内容
            @Override
            public void invoke(Object o, AnalysisContext analysisContext) {
                //o 指每一行数据
            }
          // 读取完成后的操作
            @Override
            public void doAfterAllAnalysed(AnalysisContext analysisContext) {

            }
        });
Sheet sheet = new Sheet(1, 0);
reader.read(sheet);

2,不创建对象的读

版本:easyexcel 3.0.1
public void invoke(Map<String,String> demoData, AnalysisContext analysisContext) {
log.info("解析到一条数据:{}", JSON.toJSONString(demoData));
Map map= (Map)JSON.parseObject(JSON.toJSONString(demoData));
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(demoData));
Map map1= (Map)analysisContext.getCurrentRowAnalysisResult();
System.out.println(analysisContext.getCurrentRowAnalysisResult());
System.out.println(map1);
System.out.println(map1.keySet());
System.out.println(map1.values());
Collection values = map1.values();
// 日期处理 因为 Excel 导入的时间是以1900 年为原点,转换的数字为相差的天数。
CellData<Date> dateCellData = new CellData<>();
Calendar instance = Calendar.getInstance();
instance.set(Calendar.YEAR,1900);
instance.set(Calendar.MONTH,0);
instance.set(Calendar.DAY_OF_MONTH,-1);
instance.add(Calendar.DATE,context.getReadCellData().getNumberValue().intValue());
dateCellData.setData(time);
}

上一篇 下一篇

猜你喜欢

热点阅读