概述
将Excel的表批量导入到powerdesigner中
- 创建Excel中的sheet按照以下格式
中文表名 | 6G扫频数据 | ||
---|---|---|---|
英文表名 | sweep_frequency_6g | ||
中文字段 | 英文字段 | 字段类型 | 注释 |
时间 | Time | VARCHAR(255) | 时间 |
纬度 | Latitude | VARCHAR(256) | 纬度 |
经度 | Longitude | VARCHAR(257) | 经度 |
小区ID | Cell ID | VARCHAR(258) | 小区ID |
- 打开powerdesigner按快捷键Ctrl+Shift+X 打开脚本执行界面
- 替换下方代码中的excel的路径点击Run即可导入
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 '
Dim wb
Dim Sht
Dim count
Dim newTableName 'sheet中的表名
Dim singleTable 'powerdesigner中的表名
Dim existsFlag
Set x1 = CreateObject("Excel.Application")
'打开excel文件
Set wb = x1.Workbooks.Open("C:UsersAdministratorDesktoptest2.xlsx")
'遍历每个sheet
For Each Sht In wb.Sheets
'打印sheet名
'msgbox( Sht.Name)
'msgbox( mdl.Tables.count)
'获取到当前需要创建的表名,查看它是否在powerdesigner中已经存在
newTableName = Sht.Cells(1, 2).Value
'msgbox( newTableName)
For Each singleTable In mdl.Tables
'msgbox(singleTable.Name)
If singleTable.Name = newTableName Then
existsFlag = True
End If
Next
If existsFlag Then
MsgBox (newTableName + "已经存在")
'重置flag
existsFlag = False
Else
'调用子模块
immigrate_function Sht, mdl
count = count + 1
End If
Next
MsgBox "生成数据表结构共计" + CStr(count), vbOK + vbInformation, "表"
'关闭流
Set Sht = Nothing
wb.Close
Set wb = Nothing
x1.Quit
Set x1 = Nothing
Else
HaveExcel = False
End If
'子程序模块
Sub immigrate_function(Sht, mdl)
Dim rwIndex
Dim tableName
Dim colname
Dim table
Dim col
'on error Resume Next
For rwIndex = 1 To 1000 Step 1
With Sht
If .Cells(rwIndex, 1).Value = "" Then
rwIndex = rwIndex + 1
If .Cells(rwIndex, 1).Value = "" Then
Exit For
End If
End If
If rwIndex = 1 Then
Set table = mdl.Tables.CreateNew
table.Name = .Cells(rwIndex, 2).Value
ElseIf rwIndex = 2 Then
table.Code = .Cells(rwIndex, 2).Value
rwIndex = rwIndex + 1
Else
colname = .Cells(rwIndex, 1).Value
Set col = table.Columns.CreateNew
col.Name = .Cells(rwIndex, 1).Value
col.Code = .Cells(rwIndex, 2).Value
col.Comment = .Cells(rwIndex, 4).Value
col.DataType = .Cells(rwIndex, 3).Value
End If
End With
Next
End Sub
最后
以上就是舒服铃铛为你收集整理的将Excel的表批量导入到powerdesigner中的全部内容,希望文章能够帮你解决将Excel的表批量导入到powerdesigner中所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复