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);
}
网友评论