power Designer 导入 excel 表结构数据 创建表

power Designer 导入 excel 表结构数据 创建表一、编写测试excel,如下: 二、打开PowerDesigner,创建物理模型(Physical Data Model) 三、在PowerDesigner菜单栏中,依次点击“Tools ->Exc…

power Designer 导入 excel 表结构数据 创建表

二、打开PowerDesigner,创建物理模型(Physical Data Model)
三、在PowerDesigner菜单栏中,依次点击“Tools ->Excute Commands->Edit/Run Script..
四、修改如下脚本,指定excel所在路径及文件名:
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  
    Dim x1sApp,xlsWorkBook,xlsSheet 
    RQ = vbYes "MsgBox("Is Excel Installed on your machine ?", vbYesNo + vbInformation, "Confirmation")  
    If RQ = vbYes Then  
       HaveExcel = True  
       " Open & Create Excel Document  
 
 
       Set x1sApp = CreateObject("Excel.Application")  
       set xlsWorkBook = x1sApp.Workbooks.Open("J:user.xls")   "指定excel文档路径  
       set xlsSheet = x1sApp.Workbooks(1).Worksheets("Sheet1")   "指定要打开的sheet名称,这里一定要留意
    Else  
       HaveExcel = False  
    End If  
 
    a x1sApp, mdl,x1sApp,xlsWorkBook,xlsSheet  
 
 
 
    sub a(x1, mdl,x1sApp,xlsWorkBook,xlsSheet)  
    dim rwIndex     
    dim tableName  
    dim colname  
    dim table  
    dim col  
    dim count  
    dim rowCount
 
     rowCount = xlsSheet.usedRange.Rows.Count
 
    on error Resume Next  
 
    For rwIndex = 1 To rowCount   "指定要遍历的Excel行标  从第1行开始  
            With xlsSheet
                If .Cells(rwIndex, 2).Value = "" Then "如果遍历到第二列为空,则退出  
                   Exit For  
                End If
				
                If .Cells(rwIndex, 3).Value = "" Then "如果遍历到第三列为空,则此行为表名  
                   set table = mdl.Tables.CreateNew     "创建表  
                    table.Name = .Cells(rwIndex , 1).Value "指定表名,第二列的值  
                    table.Code = .Cells(rwIndex , 2).Value   
                    table.Comment = .Cells(rwIndex , 1).Value "指定表注释,第一列的值  
                    count = count + 1  
					"跳过表名下面的表头
					rwIndex = rwIndex + 1
					
                Else  
                   set col = table.Columns.CreateNew   "创建一列/字段  
                   "MsgBox .Cells(rwIndex, 1).Value, vbOK + vbInformation, "列"              
                   col.Name = .Cells(rwIndex, 1).Value   "指定列名         
                   "MsgBox col.Name, vbOK + vbInformation, "列"  
                   col.Code = .Cells(rwIndex, 2).Value   "指定列名                          
                   col.DataType = .Cells(rwIndex, 3).Value "指定列数据类型             
                     "MsgBox col.DataType, vbOK + vbInformation, "列类型"                 
                   col.Comment = .Cells(rwIndex, 7).Value  "指定列说明  
 
					"如果主键列值为PK则设置该列为主键
                    If .Cells(rwIndex, 4).Value = "PK" Then                   
                         col.Primary = true                  
                    End If
					"如果默认值列不为空,则设置默认值
					If .Cells(rwIndex, 5).Value <> "" Then                   
                         col.DefaultValue = .Cells(rwIndex, 5).Value            
                    End If
					"如果非空列值为NOTNULL则设置该列为非空
                    If .Cells(rwIndex, 6).Value = "NOTNULL" Then                   
                        col.Mandatory =true                  
                    End If
 
					
                End If    
 
 
 
            End With  
 
    Next  
    MsgBox "生成数据表结构共计 " + CStr(count), vbOK + vbInformation, "表"  
    xlsWorkBook.Close
    x1sApp.Quit
    set x1sApp = nothing
    set xlsWorkBook = nothing
 
    Exit Sub  
    End Sub

代码100分

五、点击Run按钮,生成结果如下:

生成成功 生成的用户表

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9822.html

(0)
上一篇 2023-01-31
下一篇 2023-01-31

相关推荐

  • oracle创建文件夹_oracle数据导出expdp

    oracle创建文件夹_oracle数据导出expdp1.创建目录(需要在服务器上创建对应的目录) create or replace directory testdir as '/u01/software/test'; 2.给用户授权(

    2023-04-15
    160
  • 用Python splitext方法轻松实现文件扩展名分割

    用Python splitext方法轻松实现文件扩展名分割splitext是Python中的一个内置函数,用于将文件名与文件扩展名分离,返回一个元组。splitext方法可以轻松实现文件扩展名的分割,方便用户对文件进行处理,也是Python文件处理中常用的一个方法。

    2024-03-10
    82
  • Python中list的长度如何获取

    Python中list的长度如何获取Python中可以使用内置函数len()获取list的长度:

    2024-02-16
    84
  • mysql的索引面试_mysql 索引详解

    mysql的索引面试_mysql 索引详解1、什么是索引? 索引是帮助MySQL高效获取数据的数据结构(有序)。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现

    2023-05-01
    144
  • Python基础教程:深入理解元组数据类型

    Python基础教程:深入理解元组数据类型元组(Tuple)是Python中一种重要的数据类型。元组是用小括号包裹的一组有序数据,其中的元素可以是不同的数据类型,不同的值之间用逗号隔开。元组非常类似于列表(List),但是元组是一种不可变的数据类型,不能在原处修改内容。

    2024-01-27
    104
  • Python实现精准时间控制

    Python实现精准时间控制time模块是Python标准库中用于时间操作的库,其中包含多个与时间相关的函数和方法。其中,time.time()方法可以返回当前时间的时间戳,即从1970年1月1日00:00:00开始到现在的秒数,精确到小数点后6位。

    2024-04-03
    75
  • 聪明的数据库,如何减轻你的心智负担?[通俗易懂]

    聪明的数据库,如何减轻你的心智负担?[通俗易懂]从 4 月 11 日起,我们正式开启了主题为 《The Future of Database》的系列直播,经过前面三期直播,我们逐步为大家描绘了我们眼中未来数据库的模样。以下是第三期「聪明的数据库,…

    2023-02-23
    142
  • Python中del函数的用法

    Python中del函数的用法Python是一门简单易学、功能全面的编程语言,因其易于开发、读取和维护代码而被广泛应用。而在Python语言中,del操作符(函数)是一个常见并且有用的操作符,在处理数据结构或清理变量时起着至关重要的作用。本文将对Python中del函数的用法进行介绍,并讨论其在不同情况下的应用。

    2024-09-08
    26

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注