如何使用excel快速生成建表语句 |
您所在的位置:网站首页 › excel怎么缩小成一张 › 如何使用excel快速生成建表语句 |
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 |