一、创建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
出处:https://www.cnblogs.com/lightbc/p/14564016.html