美文网首页
EasyExecl读操作

EasyExecl读操作

作者: 一曲三月 | 来源:发表于2021-12-06 15:54 被阅读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);
    }

    相关文章

      网友评论

          本文标题:EasyExecl读操作

          本文链接:https://www.haomeiwen.com/subject/oggtxrtx.html