esayExcel  项目实践

本文介绍了在easyExcel版本升级后,如何统一处理Excel中的日期和金额格式,包括无模型映射导出和模型映射导出的方法,并提供了相关工具类excelUtil的使用参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值