【云计算】powerdesigner的导入excel插件
小标 2018-12-05 来源 : 阅读 1188 评论 0

摘要:本文主要向大家介绍了【云计算】powerdesigner的导入excel插件,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】powerdesigner的导入excel插件,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。


'导入Excel表结构
'开始
Option Explicit  

Dim mdl ' the current model 
Set mdl = ActiveModel 
If (mdl Is Nothing) Then 
   MsgBox "There is no Active Model" 
End If

Dim HaveExcel 
Dim RQ 
RQ = vbYes 'MsgBox("Is Excel Installed on your machine ", vbYesNo + vbInformation, "Confirmation") 
If RQ = vbYes Then    
   HaveExcel = True 

   ' Open & Create Excel Document    
   Dim x1  ' 
   Set x1 = CreateObject("Excel.Application")    
   x1.Workbooks.Open "D:/test.xlsx"    '指定excel文档路径
   x1.Workbooks(1).Worksheets("Sheet1").Activate '指定要打开的sheet名称
Else 
   HaveExcel = False 
End If  

a x1, mdl  

Sub a(x1, mdl) 
dim rwIndex 
dim tableName 
dim colname 
dim table 
dim col 
dim count  

'on error Resume Next
'set table = mdl.Tables.CreateNew '创建一个表实体
'table.Name = "xxx表" '指定表名,如果在Excel文档里有,也可以通过.Cells(rwIndex, 1).Value指定
'table.Code = "xxx"   '指定表Code,如果在Excel文档里有,也可以通过.Cells(rwIndex, 2).Value指定
'count = count + 1
For rwIndex = 2 To 200 step 1 '指定要遍历的Excel行标
        With x1.Workbooks(1).Worksheets("Sheet1")             
            If .Cells(rwIndex, 1).Value = "" Then                            
               Exit For             
            End If 
            If .Cells(rwIndex, 3).Value = "" Then '指定表名      
               set table = mdl.Tables.CreateNew                
               table.Name = .Cells(rwIndex , 1).Value                
               table.Code = .Cells(rwIndex , 2).Value                
               count = count + 1             
            Else 
               'colName = .Cells(rwIndex, 1).Value               
               set col = table.Columns.CreateNew '创建列
               'MsgBox .Cells(rwIndex, 1).Value, vbOK + vbInformation, "列"                
               col.Name = .Cells(rwIndex, 1).Value '指定列名
               'MsgBox col.Name, vbOK + vbInformation, "列"                
               col.Code = .Cells(rwIndex, 2).Value '指定列code
                                    
               col.Comment = .Cells(rwIndex,1).Value '指定列说明    
                           
               col.DataType = .Cells(rwIndex, 3).Value '指定列数据类型
               
               If .Cells(rwIndex, 4).Value = "否" Then
                  col.Mandatory = true'指定列是否可空,true为不可空                  
               End If
               
            End If        
        End With 
Next

MsgBox "生成数据表结构共计" + CStr(count), vbOK + vbInformation, "张表"  

Exit Sub 
End Sub


可以把表结构整理成如下的excel表格,命名成test.xlsx,放在d盘根目录,然后在PD上创建物理模型,执行上面的脚本导入即可。


下面的表格:


1. 第一行是各列介绍,不会被导入


2. 黄色的两格,分别是实体名和物理表名


3. 必须填充的是字段名、字段code、字段类型


4. 其他列可自行增加,目的是为了excel更可读


字段名字段code字段类型 字段处理描述  类目标识符数据元名称说明
测试表testtable         
整形列col_intint 测试      
字符型列col_charchar(10) 测试      
浮点型列col_doubledouble 测试      
日期列col_datedate 测试      
时间列col_datetimedatetime 测试      
二进制列col_binarybinary(1024) 测试      
登记信息登记信息         
姓名姓名char(30) 二期高价值      
曾用名曾用名char(30) 二期高价值      
性别性别char(2) 二期高价值      
民族民族char(2) 二期高价值      
身份证件类型身份证件类型char(2) 二期高价值      
身份证号码身份证号码char(18) 二期高价值      
政治面貌政治面貌char(2)        
出生地出生地char(50)        
出生日期出生日期date 二期高价值      
国籍国籍char(10)        
照片照片binary(1024)        
宗教信仰宗教信仰char(10)        
兵役状况兵役状况char(2)        
健康状况健康状况char(2) 二期高价值      

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved