博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用vb将excel导入PowerDesigner,生成表结构
阅读量:7121 次
发布时间:2019-06-28

本文共 2425 字,大约阅读时间需要 8 分钟。

hot3.png

PowerDesigner导入Excel

1、设计表

095556_4AYi_2903180.png

2、脚本编写

Option Explicit Dim mdl ' the current modelSet mdl = ActiveModelIf (mdl Is Nothing) Then    MsgBox "There is no Active Model"End If Dim HaveExcelDim RQRQ = 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:\docs\data\bid.xlsx" '指定 excel文档路径Else    HaveExcel = FalseEnd If a x1, mdl sub a(x1, mdl)dim rwIndex dim tableNamedim colnamedim tabledim coldim countdim sheetIndex on error Resume NextFor sheetIndex = 2 To 200 '指定要遍历的 Sheet    x1.Workbooks(1).Worksheets(sheetIndex).Activate '指定要打开的sheet名称    With x1.Workbooks(1).Worksheets(sheetIndex)    If .Cells(1, 1).Value = "" Then        Exit For    End If    set table = mdl.Tables.CreateNew '创建一个 表实体    table.Name = .Cells(1, 2).Value '指定 表名,如果在 Excel文档里有,也可以 .Cells(rwIndex, 3).Value 这样指定    table.Code = .Cells(1, 4).Value '指定 表名    count = count + 1     For rwIndex = 3 To 1000 '指定要遍历的 Excel行标 由于第2行是列的 表头, 从第3行开始                     If .Cells(rwIndex, 1).Value = "" Then            Exit For            End If             set col = table.Columns.CreateNew '创建一列/字段            'MsgBox .Cells(rwIndex, 1).Value, vbOK + vbInformation, "列"            If .Cells(rwIndex, 1).Value = "" Then                col.Name = .Cells(rwIndex, 2).Value '指定列名-----如果第1列(Name)为空,则显示第2列的Code            Else                col.Name = .Cells(rwIndex, 1).Value            End If            'MsgBox col.Name, vbOK + vbInformation, "列"            col.Code = .Cells(rwIndex, 2).Value '指定列名-------第2列是Code            col.DataType = .Cells(rwIndex, 3).Value '指定列数据类型-----第3列是类型            col.Comment = .Cells(rwIndex, 5).Value '指定列说明-------第5列是列说明            If .Cells(rwIndex, 4).Value = "否" Then                col.Mandatory = true '指定列是否可空 true 为不可空 ------第4列指定列是否允许为空            End If            If rwIndex = 3 Then                col.Primary = true '指定主键-------第3行是主键列            End If             Next    MsgBox "生成数据 表结构共计 " + CStr(count), vbOK + vbInformation, " 表"    End WithNextExit SubEnd sub

3、 打开PowerDesigner,创建物理模型(Physical Data Model)

4、在PowerDesigner菜单栏中,依次点击“Tools ->Excute Commands->Edit/Run Script..”

Center

5、script脚本拷贝到运行页面,点击Run,运行即可

6、:http://blog.csdn.net/jyf0412/article/details/21900075

转载于:https://my.oschina.net/maojindaoGG/blog/1789696

你可能感兴趣的文章
java 异步查询转同步多种实现方式:循环等待,CountDownLatch,Spring EventListener,超时处理和空循环性能优化...
查看>>
谈谈我的跳槽感想,从日资企业到互联网的转变
查看>>
jmeter经验---java 追加写入代码一例
查看>>
《ASCE1885的信息安全》のCryptoAPI---密钥的产生和交换函数
查看>>
C语言学习(四)
查看>>
ArcGIS 安装
查看>>
进度条5
查看>>
ubuntu下make无法安装的问题
查看>>
二叉树的镜像
查看>>
蓝牙设置种常用的Intent
查看>>
值类型和引用类型
查看>>
[转载]浅谈组策略设置IE受信任站点
查看>>
ios input框无法输入问题
查看>>
14.json文件读取
查看>>
线性表博客园作业
查看>>
An error was encountered while running(Domain=LaunchSerivcesError, Code=0)
查看>>
BZOJ 4816 [Sdoi2017]数字表格
查看>>
android:inputType参数类型说明
查看>>
HDU 1698 Just a Hook (线段树模板题-区间求和)
查看>>
每天一个linux命令(5):in命令
查看>>