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 ...
 
随机推荐
- 并发编程 20—— AbstractQueuedSynchronizer 深入分析
			
Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...
 - SAP播放本地视频及音频(仅限于window MediaPlayer可播放文件)
			
这个是从SCN上看到的,自己稍加修改,编制,做的还可以,可以播放视频,音频,唯一的不足就是不能控制播放视频的显示窗口大小,希望有人能帮忙解决,感激! 视频播放类:(新建类Z_CL_MEDIA,点击基于 ...
 - LR手动关联新手总结
			
最近学习LoadRunner的时候深刻体会:新手入门真心不容易啊 今天一直在纠结LoadRunner的手动关联问题,之前刚开始看书的时候就看到了,不过当时想先放放,后面来细细研究, 今天看的时候在网上 ...
 - 删除Xcode中的 证书文件
			
Finder->前往 ~/Library/MobileDevice/Provisioning Profiles
 - UIKit - scrollView缩放、滚动
			
UIScrollView滚动 三大属性: self.scrollView.pageEnabled = NO 是否分页:n只要将UIScrollView的pageEnabled属性设置为YES,UIS ...
 - powerdesigner,eclipse整合安装
			
com.sybase.powerdesigner.eclipse.link path=D:\\dbs\\dbtools\\SAP\\PowerDesigner16
 - 巩固基础知识,从C# in depth开始
			
真是书到用时方恨少,平时都是完成任务,书都是看个前面几章就扔书柜了.... 今天看了博客园一篇文章<我们为什么应该坚持写博客>,很有感触,觉得人生不能得过且过,以前为了各种原因,家庭,孩子 ...
 - Eclipse中10个最有用的快捷键组合
			
Eclipse中10个最有用的快捷键组合 (转) 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升. ...
 - Winform 支持高清屏(High DPI) 设置
			
http://www.cnblogs.com/weiym/p/3555068.htmlhttp://crsouza.com/2015/04/how-to-fix-blurry-windows-form ...
 - SQLite常用函数
			
length(column_name) 取得相应栏位的长度 substr(column_name, start, length) 截取某个栏位相应长度的值