通常,很多的时候,我们需要导入Excel数据到系统中,但是Excel数据需要我们去各种校验,比如身份证校验,手机号码校验等等. 校验失败的数据,提供Excel导出错误原因,提示给用户. 如此,如果校验规则使用java或c来实现,其实挺麻烦的.效率不高.主要是拓展性不好. 使用xmltyoe解析Excel数据,对于代码的改动非常的小.也许就是前端一点点东西.另外就是一个存储过程,这个存储过程是用来将解析校验合格后中间表的数据,插入到正式表,或者是修改正式表的数据.拓展性非常好.效率也高. 优点:…
包声明 create or replace package PKG_EXCEL_UTILS is -- Author: zkongbai-- Create at: 2016-07-06-- Action: 解析xmlType 类型的 Excel 数据--============================================================================================TYPE t_table_varchar IS TABLE O…
表说明: T_EXCEL_IMPORT_DATASRC: Excel数据存储表,(使用了xmltype存储Excel数据) 部分字段说明: BUSINESSTYPE: Excel模板类型,一个Excel一个模板类型(非空) EXPANDTYPE: 拓展类型,用于存储一些有用的业务数据,比如组织organ,用于等等.组织通常用来过滤展示数据的 XMLDATA: Excel数据 BUSINESSTYPE_sheet: 某一个Excel文件的第几个Sheet T_EXCEL_IMPORT_GENERA…
规则表字段说明如下: 其中RULE_FUNC_CUSTOMIZE表示,用户自己写函数,去判断数据是否合法,存储的是函数的名字 此函数的参数只有一个,该列的值,字段类型是Varchar2, 校验失败的话,RULE_FUNC_CUSTOMIZE_MSG用来显示提示信息给用户 例子:如下 规则表会在第一次导入的时候自动根据Excel的Header生成初始化数据,只不过,规则全是空的,需要自己去填数字…
1.Excel导出,此处没有给出 2.错误原因在中间表,T_EXCEL_IMPORT_GENERATION,其中errormsg不为空的数据 3,中间表入库过程: 需要自己实现,为一个存储过程,存储过程的名字在规则表中会生成,(p+业务类型+sheet数),存储过程的参数为Excel数据原始数据的id 4,有些规则比较复杂,比如,Excel数据中的楼宇NAME,需要找到楼宇ID,并且判断这个NAME是否存在,如果存在,才导入该楼宇中的其他数据 5.导入通常是根据组织进行导入的 6,插入正式表如果…
此处给出例子,具体根据业务需求 create or replace procedure P_CART_Sheet1(p_id in NUMBER) is--车辆管理功能v_str varchar2(4000);v_building_id number;begin --获取 building_id select t.expandtype into v_str from t_excel_import_datasrc t where t.id = p_id; v_building_id := to_n…
我们先来回忆回忆上篇文章讲到的通过xml配置文件实现excel批量模板解析的整体思路: 1.对每个excel模板制定xml配置规则集,实现xml配置文件的解析服务 2.为每个excel模板制定DTO,继承于一个BaseDTO 3.实现两个工厂方法,一是获取某excel模板xml配置文件路径:一是获取某excel模板DTO对象 4.EXCEL工具类对外暴露两个接口,一是数据验证接口,返回整个excel所有错误单元格信息:一是数据解析接口,读取单元格数据到DTO.通过构造方法传入配置文件 5.整体流…
今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多都是以json数据填充的.在导入excel填充json数据到页面时,真的让我差点吐血了.在做这个导入导出的时候,那一个礼拜都是黑暗的. 好了,废话不多说了,我今天就给大家展示这个两个功能的核心点,excel生成json数据和json数据生成excel文件. 一:从上传文件到服务器,后台java解析,…
效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中[附源代码下载])    本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较   (三)SSIS的简介   (四)数据库中存储过程示例(SSIS应用需要) (五)Excel模板的制作(这步这么简单,稍微介绍一下)   (六)SSIS操作过程(生成Package,用来调用)(下一篇随笔将详细讲解制作Package包的过程,图片太多,篇幅过长,因此本文将直接采用生成的Package包…
.Net MVC  导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构)   public class ExcelController : Controller { // // GET: /Excel/ Models.zbwxglEntities myMdl = new Models.zbwxglEntities(); /// <summary> /// 第一种方法,利用文件输出流进行读写操…