日期:2014-05-18  浏览次数:20498 次

数据仓库 etl如何抽取不规则excel数据源? 高手进!!!
**********有限公司 NO.1111005 排产通知单
编号:LY J207.03 2011/11/18
序号 物料编号 客户名称 物料描述 数量(吨) 技术要求 要求入库时间 订单号
1 光管 上海美灵 16*1 6 LYPZ01-03.33 11月24日 1111072
2 内螺纹 响水德尔康 9.52*0.28+0.12 2 LYPZ04-83.02 11月23日 1111073
销售签字: 卫* 生产签字: 张* 日期: 2011/12/26
像这样excel源,如何把主表信息、明细表信息抽出到数据库,高手请进!
注:1.要求从此excel表中抽取数据到数据库中的排产单表(排产单编号、编号、制单日期 如:NO.1111005,LY J207.03,2011/11/18 )、排产单明细表(序号 物料编号 客户名称 物料描述 数量(吨) 技术要求 要求入库时间 订单号)、排产单审核表(排产单编号、销售签字、生产签字、日期)。
  2.排产单编号 NO.1111005 为2011年11月5号的排产单编号,编号 LY J207.03 为质量体系编号。


------解决方案--------------------
不规则可以,但一定得要有规律.

如果有规律,那可以先将它看成是规则表导入,再按数据排列的规律分解成你想要的东西.

如果没有规律,那只能人工处理.
------解决方案--------------------
人工处理吧
------解决方案--------------------
把excel表重新处理一下,即: 在明细表插入5列,分别为表头信息(编号,制单日期),表尾信息(销售签字,生产签字,日期),形成一张新的excel表,即可映射导入。
------解决方案--------------------
在数据库里面就是这样存储的啊,一对多的关系,或者你把表头表尾信息单独放到两个表里面,在明细表里面增加2个字段来关联表头 表尾 的表
------解决方案--------------------
try to change Excel to .txt || .csv
------解决方案--------------------
如果表头,表尾,表身范围一样, 可以OPENROWSET;
不一样, 存为文本类型,逐行处理。
------解决方案--------------------
如果表头,表尾,表身Range都一样, 可以用script component 或 设置OPENROWSET属性.