powerdesigner通过导入excel方式创建物理表详解
一、创建excel表
本示例中创建了三张sheet表分别是t_user、t_role、t_user_role三张表(sheet表可以建多个,表中数据的格式其实是可以自定义的,此处不做阐述)。如图所示:
二、创建新的物理数据模型
1、打开PowerDesigner,点击【File】==》【New Model】==》【Model types】==》【Physical Data Model】==》【Physical Diagram】==》【OK】。如图所示:
Ps:*代表未保存项目,创建后【CTRL+S】可能是个好习惯。
2、然后点击【Tools】==》【Execute Commands】==》【Edit/Run Script】编辑运行相关脚本。如图所示:
输入以下脚本内容,点击【Run】执行脚本,如图所示:
Option Explicit
dim shet
dim cnt
cnt = 0
For each shet in array("t_user","t_role","t_user_role") '列出excel文件中所用需要读取的sheet的名称,例如:t_user、t_role、t_user_role...
Dim mdl ' 当前的模型
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 "excel文档路径" '指定excel文档路径
x1.Workbooks(1).Worksheets(shet).Activate '指定要打开的sheet名称
Else
HaveExcel = False
End If
a x1, mdl
cnt = cnt + 1
Next
MsgBox "生成数据表结构共计 " + CStr(cnt), vbOK + vbInformation, "表"
sub a(x1, mdl)
dim rwIndexdim table
dim col
on error Resume Next
'--------------------------------
'读取excel中的sheet表,并在model中创建物理表
'--------------------------------
For rwIndex = 1 To 10 '指定遍历开始行-遍历的行数
With x1.Workbooks(1).Worksheets(shet)'需要循环的sheet名称
If rwIndex = 1 Then'sheet表中的第一行第一列为表中文名,第一行第二列为英文名,第一行第三列为表注释信息
set table = mdl.Tables.CreateNew '创建一个表实体
table.Code = .Cells(rwIndex,2).Value'获取表英文名,即表名
table.Name = .Cells(rwIndex,1).Value'获取表中文名
table.Comment = .Cells(rwIndex,3).Value '获取表注释信息
Continue
End If
If rwIndex = 1 or rwIndex = 2 or .Cells(rwIndex,1).Value = "" Then '忽略第一行、第二行和空行(第一行为表相关信息,第二行为表头信息)
continue
Else
set col =table.Columns.CreateNew '创建一个字段实体
col.Code = .Cells(rwIndex, 1).Value '指定model中code在sheet表中对应的列
col.DataType = .Cells(rwIndex, 3).Value '指定model中的DataType在sheet表中对应的列
col.Name = .Cells(rwIndex, 2).Value '指定model中的Name在sheet表中对应的列
col.Comment = .Cells(rwIndex, 5).Value '指定model中的Comment在sheet表中对应的列
End If
End With
Next
Exit Sub
End sub
3、导出SQL语句,并在数据库中建表。工具栏中点击【Database】==》【Generate Database】==》【确定】保存SQL文件。如图所示:
4、选择一个数据库,【表】右键==》【运行SQL文件】==》【选择文件】==》【开始】执行SQL文件创建表。如图所示:
作者:lightbc
标签:
vb
, powerdesigner
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现