oracle xmltype导入并解析Excel数据--前言
通常,很多的时候,我们需要导入Excel数据到系统中,但是Excel数据需要我们去各种校验,比如身份证校验,手机号码校验等等.
校验失败的数据,提供Excel导出错误原因,提示给用户.
如此,如果校验规则使用java或c来实现,其实挺麻烦的.效率不高.主要是拓展性不好.
使用xmltyoe解析Excel数据,对于代码的改动非常的小.也许就是前端一点点东西.另外就是一个存储过程,这个存储过程是用来将解析校验合格后中间表的数据,插入到正式表,或者是修改正式表的数据.拓展性非常好.效率也高.
优点:
使用规则配置,一个模板只需要配置下简单的规则(例如,某一列是否是数字,是否可以空,是否是手机号),
将所有的规则判断 与 新增数据,修改数据放到存储过程中去实现.方便修改
比如: 某一列不为空,sql语句就是 select * from table_name where cell1 is not null.方便吧[假如是第一列]
说明: 先了解下oracle Xmltype 数据格式,全文是基于该类型解析的
需要的会使用 游标,存储过程,函数,包等东西,会使用pl*sql development进行调试
效果图:先空着哈
Excel数据格式如下: 至于为什么使用这种格式,了解完xmltype后,需要解析数据时候,你就会知道了.
<?xml version="1.0"?>
<Root>
<Statistics>
<SheetCount>1</SheetCount>
<CellCount sheet="Sheet1">12</CellCount>
<!-- <CellCount sheet="Sheet2">12</CellCount> -->
</Statistics>
<Sheet1>
<Header><!-- Excel 表头-->
<Cell>这里是真实数据</Cell>
<Cell>单元编号</Cell>
<Cell>单元状态</Cell>
<Cell>单元类型</Cell>
<Cell>合同开始时间</Cell>
<Cell>合同结束时间</Cell>
<Cell>套内面积(㎡)</Cell>
<Cell>建筑面积(㎡)</Cell>
<Cell>单元位置</Cell>
<Cell>合同编号</Cell>
<Cell>所在楼层</Cell>
<Cell>详细地址</Cell>
</Header>
<Datalist><!-- Excel 数据体-->
<Row>
<Cell1></Cell1>
<Cell2>单元编号1</Cell2>
<Cell3>单元状态1</Cell3>
<Cell4>单元类型1</Cell4>
<Cell5>合同开始时间1</Cell5>
<Cell6>合同结束时间2</Cell6>
<Cell7>套内面积(㎡)1</Cell7>
<Cell8>建筑面积(㎡)1</Cell8>
<Cell9>单元位置1</Cell9>
<Cell10>合同编号1</Cell10>
<Cell11>所在楼层1</Cell11>
<Cell12>详细地址1</Cell12>
</Row>
<Row>
<Cell1>12</Cell1>
<Cell2></Cell2>
<Cell3>3s</Cell3>
<Cell4>xn</Cell4>
<Cell5>2016-05-04</Cell5>
<Cell6>x</Cell6>
<Cell7>23</Cell7>
<Cell8>ss</Cell8>
<Cell9>uu</Cell9>
<Cell10>123</Cell10>
<Cell11>1</Cell11>
<Cell12>sd</Cell12>
</Row>
</Datalist>
</Sheet1>
<!-- <Sheet2>...</Sheet2> -->
</Root>
oracle xmltype导入并解析Excel数据--前言的更多相关文章
- oracle xmltype导入并解析Excel数据 (四)特别说明
1.Excel导出,此处没有给出 2.错误原因在中间表,T_EXCEL_IMPORT_GENERATION,其中errormsg不为空的数据 3,中间表入库过程: 需要自己实现,为一个存储过程,存储过 ...
- oracle xmltype导入并解析Excel数据 (三)解析Excel数据
包声明 create or replace package PKG_EXCEL_UTILS is -- Author: zkongbai-- Create at: 2016-07-06-- Actio ...
- oracle xmltype导入并解析Excel数据 (一)创建表与序
表说明: T_EXCEL_IMPORT_DATASRC: Excel数据存储表,(使用了xmltype存储Excel数据) 部分字段说明: BUSINESSTYPE: Excel模板类型,一个Exce ...
- oracle xmltype导入并解析Excel数据 (二)规则说明
规则表字段说明如下: 其中RULE_FUNC_CUSTOMIZE表示,用户自己写函数,去判断数据是否合法,存储的是函数的名字 此函数的参数只有一个,该列的值,字段类型是Varchar2, 校验失败的话 ...
- oracle xmltype导入并解析Excel数据 (五)中间表数据入库
此处给出例子,具体根据业务需求 create or replace procedure P_CART_Sheet1(p_id in NUMBER) is--车辆管理功能v_str varchar2(4 ...
- 利用 js-xlsx 实现 Excel 文件导入并解析Excel数据成json格式的数据并且获取其中某列数据
演示效果参考如下:XML转JSON 另一个搭配SQL实现:http://sheetjs.com/sexql/index.html 详细介绍: 1.首先需要导入js <script src=&qu ...
- 解析Excel数据
解析Excel数据常用的方式就是使用POI和JXL工具了,这两种工具使用起来有些类似,这里记录一下使用方式提供个参考 POI使用 File file = new File(filePath); Fil ...
- POI完美解析Excel数据到对象集合中(可用于将EXCEL数据导入到数据库)
实现思路: 1.获取WorkBook对象,在这里使用WorkbookFactory.create(is); // 这种方式解析Excel.2003/2007/2010都没问题: 2.对行数据进行解析 ...
- 使用python三方库xlrd解析excel数据
excel是平常用的比较多的一种数据格式,而在自动化测试过程中,解析其数据以供脚本使用就是一个重要的工作,幸好已有现存的三方库供使用,而不必重新造轮子. 一.安装xlrd模块 到python官网下载h ...
随机推荐
- 为什么大家都用i标签<i></i>用作小图标?
用 <i> 元素做图标在语义上是不正确的(虽然看起来像 icon 的缩写): <i> 比 <span> 短,但 gzip 后差异很小,不过打字可以少按三个键: 多数 ...
- Oracle管理口令遗忘解决办法
刚装Oracle11g后忘记了安装时设置的管理口令,可以通过如下方法重置指定用户名密码: 1.打开sql plus,在“请输入用户名”提示符后输入“/as sysdba”,链接数据库后通过“alter ...
- img的onerror事件(瑕疵+解决办法)【转】
显示图片的时候,为了更好的用户体验,可能会把一些没有图片的内容也用图片样式显示出来,此时我们就要用到IMG的onerror事件了,注意MyEclipse的快捷键alt+/是没有的. < img ...
- Apache AB 如何传递参数
AB使用时,网上通篇一律,在进行示例时使用的连接一般都是http://*.com,这种写法是没有带参数,如果你想测试一个写入的Case,那需要传递参数给后台,如何传递参数呢? 这里有一个登录的请求,需 ...
- 文顶顶iOS开发博客链接整理及部分项目源代码下载
文顶顶iOS开发博客链接整理及部分项目源代码下载 网上的iOS开发的教程很多,但是像cnblogs博主文顶顶的博客这样内容图文并茂,代码齐全,示例经典,原理也有阐述,覆盖面宽广,自成系统的系列教程 ...
- bom和dom总结
BOM1.1 介绍 1.BOM是browser object model的缩写,简称浏览器对象模型 2.BOM提供了独立于内容而与浏览器窗口进行交互的对象 3.由于BOM主要用 ...
- [深度优先搜索] POJ 3620 Avoid The Lakes
Avoid The Lakes Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8173 Accepted: 4270 D ...
- sql基础语句
1.创建数据库 create database 数据库名称 2.删除数据库 drop database 数据库名称 3.备份sql server 创建备份数据的device use master e ...
- 极光推送Jpush(v3)服务端PHP版本集成(V3版本只调用推送API)
因为版本升级,极光推送的API也有了V3,功能也更丰富了,但是对于我们有的用户来说,我们还是只需要调用推送的API就够了. 下载了一份PHP服务端的SDK(下载地址:http://docs.jpush ...
- 更新证书错误:No matching provisioning profiles found
在Xcode中当你在更新了你得证书而再重新编译你的程序,真机调试会出现“Your build settings specify a provisioning profile with the UUID ...