首页 > 其他 > 详细

Power Designer

时间:2019-10-28 13:52:30      阅读:75      评论:0      收藏:0      [点我收藏+]

导入Excel到pdm脚本

在Excel里整理好的表模型数据,可直接导入PowerDesigner。此功能通过PowerDesigner的脚本功能来实现,使用起来也简单。具体操作方法:
打开PowerDesigner,新建模型,点击Tools|Execute Commands|Edit/Run Script菜单或按下快捷键Ctrl + Shift + X打开脚本窗口,输入示例VBScript脚本,修改其中的Excel模板路径及工作薄页签,点Run按钮执行即可。
导入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 "F:\易华录国际\监狱资料\数据导出\警察基本信息.xlsx"    指定excel文档路径
   x1.Workbooks(1).Worksheets("dw_jc_jbxx_jbxx").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 Nextset 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 = 1 To 200 step 1 指定要遍历的Excel行标
        With x1.Workbooks(1).Worksheets("dw_jc_jbxx_jbxx")             
            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
               
               If rwIndex = 2 Then
                  col.Primary = true指定主键
               End If
            End If        
        End With 
Next

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

Exit Sub 
End Sub

 

Power Designer

原文:https://www.cnblogs.com/tjp0210/p/11751592.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!