如何使用excel快速生成建表语句

您所在的位置:网站首页 excel怎么缩小成一张 如何使用excel快速生成建表语句

如何使用excel快速生成建表语句

2023-07-09 10:33| 来源: 网络整理| 查看: 265

1. 准备

工具:PowerDesigner、Excel

2. Excel使用

每一张表都是一个sheet,sheet格式如下:

' 第一行是表信息的描述,依次是:表名、表Code、表注释 ' 第二行开始是列的描述,分别是:列名、列Code、列数据类型、列注释 ' Excel的sheet名称统一为sheet1 

3. PowerDesigner使用

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

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

' 第一行是表信息的描述,依次是:表名、表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 "E:\table.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.Code=.Cells(rwIndex, 1).Value table.Name=.Cells(rwIndex, 2).Value table.Comment=.Cells(rwIndex, 3).Value Else set col = table.Columns.CreateNew '创建一列/字段 col.Code = .Cells(rwIndex, 1).Value col.Name = .Cells(rwIndex, 2).Value '指定列名 col.DataType = .Cells(rwIndex, 3).Value '指定列数据类型 col.Comment = .Cells(rwIndex, 5).Value '指定列说明 If .Cells(rwIndex, 4).Value = "否" Then col.Mandatory = true '指定列是否可空 true 为不可空 End If If rwIndex = 2 Then 'col.Primary = true '指定主键 End If End If End With Next MsgBox "生成成功" Exit Sub End sub

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3