esayExcel 版本升级后 excel 日期格式和金额格式统一处理
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<!-- <version>2.0.5</version>-->
<version>2.1.4</version>
</dependency>
esayExcel 导入导出
无模型映射导出
模型映射导出
// demo
@Transactional(rollbackFor = Exception.class)
@Override
public boolean impExcel(MultipartFile file) {
List<Object> dataList = null;
try{
dataList = ExcelUtil.importExcel(file, 2, 4, HgFxdjmxbEntity.class);
}catch (IOException e){
e.printStackTrace();
ValidateUtil.throwError(ErrorInfo.E20000019);
}
hgFxdjmxbDao.deleteAll();
for (Object objects : dataList) {
HgFxdjmxbEntity hgFxdjmxbEntity = (HgFxdjmxbEntity) objects;
hgFxdjmxbDao.insertSelective(hgFxdjmxbEntity);
}
return true;
}
excelUtil
/**
1. dataList = ExcelUtil.importExcel(file, 1, 7, ImpRecordModel.class);
2. dataList = ExcelUtil.importExcel(file, 1, 3, null);
3. bytes = ExcelUtil.exportExcel(list, ExcelConst.EXCEL_SHEET);
4. bytes = CsvExportUtil.export(list);
**/
public static List<Object> importExcel(MultipartFile file,int sheetNo, int headLineMun, Class<? extends BaseRowModel> cla) throws IOException{}
/**
1.无模型映射导出
*/
List<List<Object>> data = new ArrayList<>();
data.add(Arrays.asList("111","222","333"));
List<String> head = Arrays.asList("表头1", "表头2", "表头3");
ExcelUtil.writeBySimple(filePath,data,head);
/**
2.模型映射导出
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class TableHeaderExcelProperty extends BaseRowModel {
@ExcelProperty(value = "姓名", index = 0)
private String name;
}
// 调用
ArrayList<TableHeaderExcelProperty> data = new ArrayList<>();
for(int i = 0; i < 4; i++){
TableHeaderExcelProperty tableHeaderExcelProperty = new TableHeaderExcelProperty();
tableHeaderExcelProperty.setName("cmj" + i);
data.add(tableHeaderExcelProperty);
}
ExcelUtil.writeWithTemplate(filePath,data);
https://blog.youkuaiyun.com/qq_32258777/article/details/89031479 esayexcel 导入导出
// java 伪代码 在model 处理
// esayExcel ImpRecordModel
public class ImpRecordModel extends BaseRowModel {
@ExcelProperty(value = "序号", index = 0)
private String nXhString;
}
// esayExcel insert
for (int i = 0; i < dataList.size() - 2; i++) {
ImpRecordModel impRecordModel = (ImpRecordModel) dataList.get(i);
impRecordModel.setnPch(currMaxPch);
// 数字 要额外处理
impRecordModel.setnXh(Long.valueOf(impRecordModel.getnXhString()));
// 金额 要额外处理
impRecordModel.setnCfJe(new BigDecimal(impRecordModel.getnCfJeString().replace(",","")));
// 日期 要额外处理
hgYgcfdjEntity.setdCjrq(DateUtil.parseYYYYMMDD(hgYgcfdjEntity.getRqString()));
// 加一个接口
hgYgcfdjDao.insertRecord(impRecordModel);
}