设为首页 加入收藏

TOP

PDM与Excel利用VB脚本进行互导(一)
2015-11-21 02:05:01 来源: 作者: 【 】 浏览:1
Tags:PDM Excel 利用 脚本 进行

1、基础样例表和数据

Excel数据表,样例中有两个sheet。样表及数据如下:

sheet1=>

?

主题域 表注释 表英文名称 表中文名称 列名 列中文名称 列注释 数据类型 主键 是否为空 默认值
协议   order_info 订单信息表 STATIS_DATE 统计时间   varchar2(100)      
    order_info 订单信息表 ORDR_GUID 订单GUID   varchar2(101) Y    
    order_info 订单信息表 CO_CD 公司代码   varchar2(102)      
    order_info 订单信息表 CO_NAME 公司名称   varchar2(103)      
    order_info 订单信息表 SERV_ORDR_NO 服务订单号   varchar2(104)      
    order_info 订单信息表 OMS_ORDR_NO OMS行订单号   varchar2(105)      
    order_info 订单信息表 ORDR_TYPE 订单类型   varchar2(106)      
    order_info 订单信息表 SERV_ORG 服务组织   varchar2(107)      
    order_info 订单信息表 QA_FLG 质保标识   varchar2(108)      
协议   personnel 人员信息表 STATIS_DATE 统计时间   VARCHAR(14)      
    personnel 人员信息表 CLIENT 客户端   VARCHAR(9) Y    
    personnel 人员信息表 PARTNER 业务合作伙伴标识   VARCHAR(30)      
    personnel 人员信息表 BEGDA 开始日期   VARCHAR(14))      
    personnel 人员信息表 ENDDA 结束日期   VARCHAR(14))      
    personnel 人员信息表 BUKRS 公司代码   VARCHAR(12)      

?

sheet2=>

?

主题域 表注释 表英文名称 表中文名称 列名 列中文名称 列注释 数据类型 主键 是否为空 默认值
交易   deal_hurry 交易流水表 STATIS_DATE 统计时间   date      
  deal_hurry 交易流水表 ORDR_GUID 订单GUID   varchar2(101) Y    
  deal_hurry 交易流水表 CO_CD 公司代码   int   Y 1000
  deal_hurry 交易流水表 CO_NAME 公司名称   varchar2(103)      
  deal_hurry 交易流水表 SERV_ORDR_NO 服务订单号   varchar2(104)      
  deal_hurry 交易流水表 OMS_ORDR_NO OMS行订单号   number(22,3)      
  deal_hurry 交易流水表 ORDR_TYPE 订单类型   varchar2(106)      
  deal_hurry 交易流水表 SERV_ORG 服务组织   varchar2(107)      
  deal_hurry 交易流水表 QA_FLG 质保标识   varchar2(108)      
交易   person 人员表 STATIS_DATE 统计时间   date      
  person 人员表 CLIENT 客户端   VARCHAR(9) Y    
  person 人员表 PARTNER 业务合作伙伴标识   VARCHAR(30)      
  person 人员表 BEGDA 开始日期   date   Y  
  person 人员表 ENDDA 结束日期   date   Y  
  person 人员表 BUKRS 公司代码   int      

?

截图=>

\

?

2、Excel导入到PDM的脚本

Import_PDM_From_Excel.vbs

'******************************************************************************
'* Purpose:  从Excel中读取信息创建PDM模型
'* Title:
'* Category: 创建
'* Author:   nisj
'* Created:  2015年7月31日
'* Modified:
'* Use:      打开PDM,创建新的PDM,运行本脚本(Ctrl+Shift+X)
'*           Excel 格式要求
'*           MODEL Sheet
'*           |A     |B          |C          |D          |E      |F          |G          |H        |I    |J        |K      |
'*           主题域 |表注释 |表英文名称 |表中文名称 |列名   |列中文名称 |列注释 |数据类型 |主键 |是否为空 |默认值 |
'* Version:  1.0
'* Comment:
'******************************************************************************

Option Explicit

' Model sheet中的列信息
CONST CELL_A="A" '主题域(Pachage)
CONST CELL_B="B" '表注释
CONST CELL_C="C" '表英文名称
CONST CELL_D="D" '表中文名称
CONST CELL_E="E" '列名
CONST CELL_F="F" '列中文名称
CONST CELL_G="G" '列注释
CONST CELL_H="H" '数据类型
CONST CELL_I="I" '是否主键
CONST CELL_J="J" '是否可空
CONST CELL_K="K" '默认值

CONST str_iskey="Y"
'表的所属者
CONST str_username="srv"
CONST isclear_columns = true  '是否先删除表的所有列,如果是false则不会删除excel中没有的列,如果是true,则会重新创建相应表的所有列

' get the current active model
DIM mdl ' 定义当前的模型
SET mdl = ActiveModel '通过全局参数获得当前的模型

IF (mdl IS NOTHING) THEN
   MsgBox "没有选择模型,请选择一个模型并打开"
ELSEIF NOT mdl.IsKindOf(PdPDM.cls_Model) THEN
   MsgBox "当前选择的不是一个物理模型(PDM)."
ELSE

'选择需要导入的Excel文件
' 打开Excel
DIM xlApp   '定义Excel对象
SET xlApp  = CreateObject("Excel.Application")
xlApp.DisplayAlerts = FALSE
DIM xlBook  '定义Excel Sheet
SET xlBook = xlApp.WorkBooks.Ope
首页 上一页 1 2 3 4 5 6 下一页 尾页 1/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇nginx+memcached+tomcat集群sessi.. 下一篇物联网(IOT)数据库需求和当前技术..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: