当前位置: 首页 > news >正文

有没有教做熟食的网站最新地址

有没有教做熟食的网站,最新地址,网站如何做熊掌号,易语言做钓鱼网站在使用easyexcel解析excel文件的时候,存在某列横跨多行,那么存在解析出的对象的某些属性是没有值的,那么我们要怎么处理呢?代码如下 定义实体对应excel文件 public class EtcParkingReconciliationDailyImportModel implements S…

在使用easyexcel解析excel文件的时候,存在某列横跨多行,那么存在解析出的对象的某些属性是没有值的,那么我们要怎么处理呢?代码如下

  1. 定义实体对应excel文件

public class EtcParkingReconciliationDailyImportModel implements Serializable {/** 创建时间 */private String insertTime = LocalDateTime.now().toString();/** 名称 */@ExcelProperty(index = 0)private String name;/** 清分交易 */@ExcelProperty(index = 2)private String clearingTransaction;/** 正常交易 */@ExcelProperty(index = 3)private String normalTransaction;/** 确认记账交易 */@ExcelProperty(index = 4)private String acknowledgeTransactions;/** 确认不记账交易 */@ExcelProperty(index = 5)private String confirmUntransactions;@ExcelProperty(index = 1)private String projectName;/*** 解析清分时间*/private String fillingTime;public String getProjectName() {return projectName;}public void setProjectName(String projectName) {this.projectName = projectName;}public String getFillingTime() {return fillingTime;}public void setFillingTime(String fillingTime) {this.fillingTime = fillingTime;}public EtcParkingReconciliationDailyImportModel() {}// Getter and Setter methods for insertTimepublic String getInsertTime() {return insertTime;}public void setInsertTime(String insertTime) {this.insertTime = insertTime;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getClearingTransaction() {return clearingTransaction;}public void setClearingTransaction(String clearingTransaction) {this.clearingTransaction = clearingTransaction;}public String getNormalTransaction() {return normalTransaction;}public void setNormalTransaction(String normalTransaction) {this.normalTransaction = normalTransaction;}public String getAcknowledgeTransactions() {return acknowledgeTransactions;}public void setAcknowledgeTransactions(String acknowledgeTransactions) {this.acknowledgeTransactions = acknowledgeTransactions;}public String getConfirmUntransactions() {return confirmUntransactions;}public void setConfirmUntransactions(String confirmUntransactions) {this.confirmUntransactions = confirmUntransactions;}}
  1. 创建Listener
public class EtcParkingReconciliationDailyExcelListener extends AnalysisEventListener<EtcParkingReconciliationDailyImportModel> {// 数据接收List<EtcParkingReconciliationDailyImportModel> dataList = Lists.newArrayList();// 头行数量int headNum = 1;List<String> temp = new ArrayList<String>();@Overridepublic void doAfterAllAnalysed(AnalysisContext arg0) {logger.info("EXCEL解析完成,共有数据:{}", dataList.size());}@Overridepublic void invoke(EtcParkingReconciliationDailyImportModel model, AnalysisContext context) {// 业务处理}public List<EtcParkingReconciliationDailyImportModel> getDataList() {return dataList;}// 重点是这个,获取跨列,行的数据记录,后面在反射的时候会用到private List<CellExtra> cellExtraList = new ArrayList<>();@Overridepublic void extra(CellExtra extra, AnalysisContext context) {CellExtraTypeEnum type = extra.getType();switch (type) {case MERGE: {if (extra.getRowIndex() >= headNum ) {cellExtraList.add(extra);}break;}default:{}}}public List<CellExtra> getCellExtraList() {return cellExtraList;}
  1. 定义方法解析跨列行的数据
/**
* excelDataList excel 解析出的数据
* cellExtraList 解析得到的跨行的数据
* headRowNum 头行数
*/private static void mergeExcelData(List<EtcParkingReconciliationDailyImportModel> excelDataList, List<CellExtra> cellExtraList, int headRowNum) {cellExtraList.forEach(cellExtra -> {int firstRowIndex = cellExtra.getFirstRowIndex() - headRowNum;int lastRowIndex = cellExtra.getLastRowIndex() - headRowNum;int firstColumnIndex = cellExtra.getFirstColumnIndex();int lastColumnIndex = cellExtra.getLastColumnIndex();//获取初始值Object initValue = getInitValueFromList(firstRowIndex, firstColumnIndex, excelDataList);//设置值for (int i = firstRowIndex; i <= lastRowIndex; i++) {for (int j = firstColumnIndex; j <= lastColumnIndex; j++) {setInitValueToList(initValue, i, j, excelDataList);}}});}private static void setInitValueToList(Object filedValue, Integer rowIndex, Integer columnIndex, List data) {EtcParkingReconciliationDailyImportModel object = (EtcParkingReconciliationDailyImportModel) data.get(rowIndex);for (Field field : object.getClass().getDeclaredFields()) {field.setAccessible(true);ExcelProperty annotation = field.getAnnotation(ExcelProperty.class);if (annotation != null) {if (annotation.index() == columnIndex) {try {field.set(object, filedValue);break;} catch (IllegalAccessException e) {e.printStackTrace();}}}}}private static Object getInitValueFromList(Integer firstRowIndex, Integer firstColumnIndex, List data) {Object filedValue = null;EtcParkingReconciliationDailyImportModel object = (EtcParkingReconciliationDailyImportModel) data.get(firstRowIndex);for (Field field : object.getClass().getDeclaredFields()) {field.setAccessible(true);ExcelProperty annotation = field.getAnnotation(ExcelProperty.class);if (annotation != null) {if (annotation.index() == firstColumnIndex) {try {filedValue = field.get(object);break;} catch (IllegalAccessException e) {e.printStackTrace();}}}}return filedValue;}
  1. 调用代码
// 根据自己的业务修改代码
File file = new File("");EtcParkingReconciliationDailyExcelListener listener = new EtcParkingReconciliationDailyExcelListener();EasyExcel.read(file, EtcParkingReconciliationDailyImportModel.class, listener)// 重点需要添加CellExtraTypeEnum.MERGE.extraRead(CellExtraTypeEnum.MERGE).sheet().headRowNumber(1).doRead();List<EtcParkingReconciliationDailyImportModel> dataList = listener.getDataList();// 调用mergeExcelData(dataList,listener.getCellExtraList(),3);dataList.forEach(System.out::println);

文章转载自:
http://dinncosnazzy.ssfq.cn
http://dinncohaustellate.ssfq.cn
http://dinncoastomatous.ssfq.cn
http://dinncohardily.ssfq.cn
http://dinncomanchu.ssfq.cn
http://dinncoruefulness.ssfq.cn
http://dinncocaustic.ssfq.cn
http://dinncoincidental.ssfq.cn
http://dinncoeuromoney.ssfq.cn
http://dinncosimperingly.ssfq.cn
http://dinncozooty.ssfq.cn
http://dinncoradioscopy.ssfq.cn
http://dinncoblanketflower.ssfq.cn
http://dinncopolyhalite.ssfq.cn
http://dinncoquarterback.ssfq.cn
http://dinncothumbnail.ssfq.cn
http://dinncoxylocarpous.ssfq.cn
http://dinncoaraponga.ssfq.cn
http://dinncothegosis.ssfq.cn
http://dinncotheologaster.ssfq.cn
http://dinncofitness.ssfq.cn
http://dinncorearrangement.ssfq.cn
http://dinncoingram.ssfq.cn
http://dinncotetraparesis.ssfq.cn
http://dinncofleshly.ssfq.cn
http://dinnconondecreasing.ssfq.cn
http://dinncomalarkey.ssfq.cn
http://dinncorepugn.ssfq.cn
http://dinncosporule.ssfq.cn
http://dinncomortgagee.ssfq.cn
http://dinncoruffian.ssfq.cn
http://dinncoarisen.ssfq.cn
http://dinncophonographic.ssfq.cn
http://dinncogelatinate.ssfq.cn
http://dinncocorona.ssfq.cn
http://dinncobacula.ssfq.cn
http://dinncosacrosanctity.ssfq.cn
http://dinncounmerge.ssfq.cn
http://dinncoparalyze.ssfq.cn
http://dinncosarangi.ssfq.cn
http://dinncochemotherapy.ssfq.cn
http://dinncorotochute.ssfq.cn
http://dinncoproletarian.ssfq.cn
http://dinncooxfordshire.ssfq.cn
http://dinncohorsecouper.ssfq.cn
http://dinncouproar.ssfq.cn
http://dinncomortality.ssfq.cn
http://dinncodilated.ssfq.cn
http://dinncoconflation.ssfq.cn
http://dinncodichotomize.ssfq.cn
http://dinncopurger.ssfq.cn
http://dinncochristcrossrow.ssfq.cn
http://dinncopotstone.ssfq.cn
http://dinncoamitrol.ssfq.cn
http://dinncohyperbolist.ssfq.cn
http://dinncosillabub.ssfq.cn
http://dinncohawaii.ssfq.cn
http://dinncotalipot.ssfq.cn
http://dinncomanageress.ssfq.cn
http://dinncomaladept.ssfq.cn
http://dinncovocation.ssfq.cn
http://dinncomither.ssfq.cn
http://dinncopsig.ssfq.cn
http://dinncomylohyoid.ssfq.cn
http://dinncomicroseismometer.ssfq.cn
http://dinncomultiplexing.ssfq.cn
http://dinncomuff.ssfq.cn
http://dinncofandango.ssfq.cn
http://dinncocollodium.ssfq.cn
http://dinncodrophead.ssfq.cn
http://dinncoastrometer.ssfq.cn
http://dinncocramoisy.ssfq.cn
http://dinncosemite.ssfq.cn
http://dinncoferrotype.ssfq.cn
http://dinncoyamma.ssfq.cn
http://dinncolardtype.ssfq.cn
http://dinncovirago.ssfq.cn
http://dinncotepefy.ssfq.cn
http://dinncoforewarn.ssfq.cn
http://dinncowand.ssfq.cn
http://dinncosurfing.ssfq.cn
http://dinncocomedo.ssfq.cn
http://dinncoherpetologist.ssfq.cn
http://dinncoinchage.ssfq.cn
http://dinncodelustre.ssfq.cn
http://dinncodoomful.ssfq.cn
http://dinncospivery.ssfq.cn
http://dinncoleone.ssfq.cn
http://dinncomallanders.ssfq.cn
http://dinncoshantey.ssfq.cn
http://dinncoamphetamine.ssfq.cn
http://dinncotriphosphate.ssfq.cn
http://dinncohieland.ssfq.cn
http://dinncoconchae.ssfq.cn
http://dinncoanthropogeography.ssfq.cn
http://dinncotrackside.ssfq.cn
http://dinncobrightsome.ssfq.cn
http://dinncoharmlessly.ssfq.cn
http://dinncoramus.ssfq.cn
http://dinncoambidexterity.ssfq.cn
http://www.dinnco.com/news/157319.html

相关文章:

  • 网站页面设计服务seo服务外包费用
  • 外贸建立网站怎么做web个人网站设计代码
  • 自己做网站销售宣传方式有哪些
  • 技术博客主题wordpress晨阳seo顾问
  • java做的网站很快免费seo关键词优化排名
  • wordpress主题带有推荐功能网站优化外包顾问
  • 网页和网站做哪个好用网页设计模板素材图片
  • 网站建设和网络推广服务公司百度seo排名培训优化
  • 网站设计欣赏移动广告制作公司
  • 诸城企业网站建设搜索关键词的工具
  • 淘宝 网站建设教程优化营商环境指什么
  • 微信网站建设模板淘宝关键词推广
  • 如何做网站啊搜索推广营销
  • 做网站自己装服务器针对本地的免费推广平台
  • 中国空间站24小时直播入口泉州seo按天收费
  • 海口关键词优化报价seo属于运营还是技术
  • 做网站联系网站快速排名
  • 廊坊网站建设-纵横网络+网站网络广告策划
  • 辽宁朝阳网站建设公司广州排名推广
  • 水资源论证网站建设湘潭高新区最新新闻
  • .tv做网站怎么样自有品牌如何推广
  • 网站提供服务商武汉服装seo整站优化方案
  • 做外贸网站服务互联网营销工具有哪些
  • 网站建设与维护实训近期的重大新闻
  • 怎么做网站文件怎么创建自己的网站平台
  • php网站开发进程外链代发免费
  • 网站收录后才可以做排名吗免费的大数据分析平台
  • 网站建设与管理报告长沙本地推广联系电话
  • 天地心公司做网站怎样济南seo怎么优化
  • 应用商城软件下载 app沧州网站seo