1. 参数初始化 *   :                            InitParm
  2. 确定excel的title 定位数据*  :        MatchTitleIndex
  3. 读取Excel   :                                ReadExcelData
  4. 校验数据库数据 :                         ValidateInDB
  5. 表内数值型格式校验                      ValidateintegerFormat
  6. 修改数据库                                    UpdateDB
/*--------------主程序-------------*/
/*1、参数初始化*/
Do 'InitParm'
/*2、读取Excel数据,校验表头格式,定位数据*/
Do 'MatchTitleIndex'
&CellRow += 1
do while &ExcelDocument.Cells(&CellRow, &Variable_Index).Text <> ''      //这里是读一条就调一次数据库,需要优化&Flag = 0Do 'ReadExcelData'
/*3、校验Excel表内数据*/
/*3.1、数据库数据校验*/Do 'ValidateInDB'
/*3.2、表内数值型数据格式校验*/Do 'ValidateintegerFormat'
/*4、结束数据校验,如果正确,修改数据库,如果不正确,则提示有错误*/   if &Flag = 1&ErrorOutMessage = "部分数据有误,详见数据录入错误日志"elseDo 'UpdateDB'endif&CellRow += 1
enddo
&ExcelDocument.Close()/*导入修改完毕,关闭Excel*//*--------------Sub-------------*/
Sub 'InitParm'&ExcelDocument.Open(&FilePathName)/*打开上传的Excel文件*/&CellRow = 1&ErrorOutMessage = ""
//    &Pattern = "^[0-9]*$"/*数值型正则表达式*/&Variabel1_index= 0&Variabel2_Index = 0&Variable3_Index = 0&Variable4_Index = 0&Variable5_Index = 0
EndSub
Sub 'MatchTitleIndex'If (&ExcelDocument.ErrCode <> 0)&ErrorMessage = &ExcelDocument.ErrDescription&ExcelDocument.Close()ReturnEndiffor &iCellIndex = 1 to 100&Title = &ExcelDocument.Cells(&CellRow, &iCellIndex).Textif trim(&Title) = "title1"&Variable1_index= &iCellIndexendifif trim(&Title) = "title2"&Variable2_Index = &iCellIndexendifif trim(&Title) = "title3"&Variable3_Index = &iCellIndexendifif trim(&Title) = "title4"&Variabel4_Index = &iCellIndexendifif trim(&Title) = "title5"&Variable5_Index = &iCellIndexendifendfor&Index = &Variable1_Index* (&Variable2_index+ &Variable3_index+ &Variable4_index+ &Variable5_index)   //&Variable1_index是不能缺少的主键if &Index = 0&ErrorMessage = '没有找到应对的列'returnendif
EndSub
Sub 'ReadExcelData'&Variabel1= &ExcelDocument.Cells(&CellRow,&Variable1_Index).Text&Variable2= &ExcelDocument.Cells(&CellRow,&Variable2_Index).Text&Variable3= &ExcelDocument.Cells(&CellRow,&Variable3_Index).Text&Variable4= &ExcelDocument.Cells(&CellRow,&Variable4_Index).Text&Variable5 = &ExcelDocument.Cells(&CellRow,&Variable5_Index).Number
EndSub
Sub  'ValidateInDB'EndSub
Sub 'ValidateintegerFormat'if &Variable1.IsEmpty() or &Variable=''&DataErrorReason = '参数名称不能为空'P_InsertErrorInfo.Call(&UserCode,ErrorType.ImportError,&OriginalFileName,'第'+&CellRow.ToString()+'行'+','+'第'+&MakProductCode_Index.ToString()+'列',&DataErrorReason)&Flag = 1endifEndSub
 
Sub 'UpdateDB'For eachwhere Attribute1= &Variable1             //这两行可以不用也行&Variable2= Attriable2                   //不同的逻辑看自己的Do 'New'EndFor&ErrorMessage = '导入完成'commit
EndSub
Sub 'New'for each    //根据颜色名称获取颜色编码where A1= &V1&V2= A2exitendforNewA1= &V1A2= &V2A3= &V3EndNew
EndSub

genexus  excel导入

GeneXus笔记Excel导入相关推荐

  1. Django 2.0.6 学习笔记 13.8 xamin excel导入插件

    直接上xadmin/plugin/excel.py的代码: # coding:utf-8import xadmin from xadmin.views import BaseAdminPlugin, ...

  2. Java后端:10w行级别数据的Excel导入优化记录

    一些细节 数据导入:导入使用的模板由系统提供,格式是 xlsx (支持 65535+行数据) ,用户按照表头在对应列写入相应的数据 数据校验:数据校验有两种: 字段长度.字段正则表达式校验等,内存内校 ...

  3. C# 使用 NPOI 处理Excel导入单元格内容是公式问题

    C# 使用 NPOI 处理Excel导入单元格内容是公式问题 引言:今天在处理业务的时候,碰到导入Excel数据不成功的问题,那么就在这里做下笔记吧. 首先,我们有以下的数据.整块业务逻辑的代码在最后 ...

  4. 【若依vue框架学习】3.通过Excel导入数据/通过反射读取注解

    目录 通过Excel导入用户 前端视角: 后端视角 简单笔记,了解内容即可 通过Excel导入用户 前端视角: 其中的updateSupport=0 代表不更新已经存在的数据 后端视角   如果需要E ...

  5. excel导入数据校验_从Excel数据验证列表中选择多个项目

    excel导入数据校验 You've probably used an Excel data validation drop down list, where you can click the ar ...

  6. excel导入数据校验_Excel数据验证更新

    excel导入数据校验 I've finally updated my Data Validation intro video, so it shows the steps for creating ...

  7. excel导入数据校验_使用Excel数据验证限制日期范围

    excel导入数据校验 Yesterday, one of my clients emailed to let me know that she was having trouble entering ...

  8. excel导入数据失败_Excel数据验证失败

    excel导入数据失败 Data validation is one of the best features in Excel. You can use it to create drop down ...

  9. excel导入数据校验_Excel数据验证错误消息

    excel导入数据校验 Do you like to use error checking in Excel, so that problem cells are flagged, or do you ...

最新文章

  1. 一加7t人脸识别_一加7T系列国行版开启预约 谷歌Pixel 4系列高清图曝光
  2. 算法提高课-图论-单源最短路的建图方式-AcWing 920. 最优乘车:bfs求最短路、建图
  3. 买淘宝特价版,产业升级的证明
  4. git连接通过ssh连接github
  5. OpenQA.Selenium.WebDriverException : Failed to start up socket within 45000
  6. 有/无外网情况下linux安装宋体
  7. 移动广告平台有哪些,各有啥优缺点?
  8. python做数组数据加密狗
  9. 红外接收管硬件电路曲折的调试过程,错误的使用过程记录
  10. 搜索方法_如何搜索到自己的CSDN博客
  11. 元宇宙持续引发关注,微软计划明年发布相关产品 | 产业区块链发展周报
  12. 灵雀云基于 OVN 的 Kubernetes 网络架构解析
  13. openfeign集成Hystrix的备选方案处理
  14. 如何安装 Ubuntu 22.04 LTS 桌面版 ?
  15. 2020成考C语言答案,2020年成人高考语文题库(含历年真题练习题模拟题)
  16. 超全整理100个 Pandas 函数,建议收藏!
  17. 将https安全证书导入jdk中
  18. mysql慢查询常用语句
  19. mirai 高效率 QQ 机器人框架
  20. ctf MISC writeup

热门文章

  1. 呦呦呦!SMS来个通俗点的小栗子!!!
  2. Re: 酷似抓虾的ruby on rail网站-猫爪
  3. python逻辑运算符的优先级_Python逻辑运算符
  4. JS中RHS引用和LHS引用的区别
  5. Spring DI详解
  6. java采用什么与什么相结合的产物,智能仪器是
  7. Java毕业设计_消防安全培训系统
  8. HTML5超酷新特性WebSockets初体验
  9. vue兼容IE8以上解决方案
  10. 计算机作业我家乡的变化英语作文,我家乡的变化英语作文(精选12篇)