PowerDesigner导入Excel表

引用文章地址powerdesigner 使用excel 批量导入创建表_一年春又来的博客-CSDN博客_power designer 通过excel表新建表

1.Excel新建表

        在工作中有时候会遇到在excel中建立表结构,如下图中表结构

地表水源不同水质供水量统计表

WR_SWVSQT_S

本表应描述不同水质地表水源的供水量信息

行政区划代码

ADDVCD

CHAR(6)

N

年份

YR

SHORTINT(4)

N

评价时段

ESTPRD

CHAR(1)

N

城镇生活Ⅰ类供水量

TWLFWSI

DECIMAL(12,2)

备注

NT

VCHAR(256)

说明:

1. 第一行是表信息的描述,依次是:表名、表Code、表注释
2. 第二行开始是列的描述,分别是:字段名标识符、列数据类型、是否为空、列注释
3.Excel的sheet名称统一为sheet1

4.Excel的位置是:C:\Users\Administrator\Desktop\PowerDesigner批量导入导出\新建 XLSX 工作表.xlsx" '指定 excel文档路径

 2.新建物理模型

        打开PowerDesigner软件,新建物理模型。选择自己使用的数据库类型。

excel设计的表结构如何导入到PowerDesigner

 3.执行脚本

        模型建立完成后 直接按  crtl+shift+x 打开执行脚本窗口。把脚本内容复制进去,点击执行开始进行表结构的转换。

excel设计的表结构如何导入到PowerDesigner

excel设计的表结构如何导入到PowerDesigner

 4.脚本

' 第一行是表信息的描述,依次是:表名、表Code、表注释
' 第二行开始是列的描述,分别是:列名、列Code、列数据类型、列注释
' Excel的sheet名称统一为sheet1
'开始
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 "C:\Users\Administrator\Desktop\PowerDesigner批量导入导出\新建 XLSX 工作表.xlsx" '指定 excel文档路径
    x1.Workbooks(1).Worksheets("Sheet1").Activate '指定要打开的sheet名称
Else
    HaveExcel = False
End If

a x1, mdl

sub a(x1, mdl)
dim rwIndex 
dim tableName
dim colname
dim table
dim col

on error Resume Next

set table = mdl.Tables.CreateNew '创建一个 表实体

For rwIndex = 1 To 1000 '
    With x1.Workbooks(1).Worksheets("Sheet1")
        If .Cells(rwIndex, 1).Value = "" Then
        Exit For
        End If
                
        If rwIndex = 1 Then
            ' 表赋值
            table.Name=.Cells(rwIndex, 1).Value '表名
            table.Code=.Cells(rwIndex, 2).Value '表标识
            table.Comment=.Cells(rwIndex, 1).Value '表说明
        Else        
            set col = table.Columns.CreateNew '创建一列/字段            
            
            col.Name = .Cells(rwIndex, 1).Value '指定列名
            col.Code = .Cells(rwIndex, 2).Value
            col.DataType = .Cells(rwIndex, 3).Value '指定列数据类型
            col.Comment = .Cells(rwIndex, 1).Value '指定列说明
            
			If .Cells(rwIndex, 4).Value = "N" Then
                col.Mandatory = true '指定列是否可空 true 为不可空 
            End If

            'If .Cells(rwIndex, 6).Value Then
            'col.Primary = true '指定列是否主键 true 为主键 '指定列是否可空 true 为不可空  
           'End If
           
            
        End If
    End With
Next
MsgBox "生成成功"

Exit Sub
End sub

5.转换

        转换完成后,可以看到转换的表已经生成。双击表图标可以看到生成的表结构和SQL语句。

excel设计的表结构如何导入到PowerDesigner

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值