在PowerDesigner使用脚本批量导入excel中记录的表结构信息,由于需要通过powerdesigner逆向工程创建一些sybase IQ的表,由于是接口数据,只有excel表,手动导入太耗时了(几十张),所以百度了一下批量导入execl的方法,发现可以执行vb脚本来读excel表格,从而批量生成表结构图。

这是EXCEL格式:

  1. Option Explicit
  2.  
  3. Dim mdl ' the current model
  4. Set mdl = ActiveModel
  5. If (mdl Is Nothing) Then
  6. MsgBox "There is no Active Model"
  7. End If
  8.  
  9. Dim HaveExcel
  10. Dim RQ
  11. RQ = vbYes 'MsgBox("Is Excel Installed on your machine ?", vbYesNo + vbInformation, "Confirmation")
  12. If RQ = vbYes Then
  13. HaveExcel = True
  14. ' Open & Create Excel Document
  15. Dim x1 '
  16. Set x1 = CreateObject("Excel.Application")
  17. x1.Workbooks.Open "D:\1.xlsx" '指定excel文档路径
  18. x1.Workbooks().Worksheets("Sheet1").Activate '指定要打开的sheet名称
  19. Else
  20. HaveExcel = False
  21. End If
  22.  
  23. a x1, mdl
  24. sub a(x1, mdl)
  25. dim rwIndex
  26. dim tableName
  27. dim colname
  28. dim table
  29. dim col
  30. dim count
  31. on error Resume Next
  32.  
  33. For rwIndex = To '指定要遍历的Excel行标 由于第1行是表头,从第2行开始
  34. With x1.Workbooks().Worksheets("Sheet1")
  35. If .Cells(rwIndex, ).Value = "" Then '如果遍历到第一列为空,则退出
  36. Exit For
  37. End If
  38. If .Cells(rwIndex, ).Value = "" Then '如果遍历到第三列为空,则此行为表名
  39. set table = mdl.Tables.CreateNew '创建表
  40. table.Name = .Cells(rwIndex , ).Value '指定表名,第一列的值
  41. table.Code = .Cells(rwIndex , ).Value
  42. table.Comment = .Cells(rwIndex , ).Value '指定表注释,第二列的值
  43. count = count +
  44. Else
  45. set col = table.Columns.CreateNew '创建一列/字段
  46. 'MsgBox .Cells(rwIndex, 1).Value, vbOK + vbInformation, "列"
  47. col.Name = .Cells(rwIndex, ).Value '指定列名
  48. 'MsgBox col.Name, vbOK + vbInformation, "列"
  49. col.Code = .Cells(rwIndex, ).Value '指定列名
  50. col.DataType = .Cells(rwIndex, ).Value '指定列数据类型
  51. 'MsgBox col.DataType, vbOK + vbInformation, "列类型"
  52. col.Comment = .Cells(rwIndex, ).Value '指定列说明
  53. End If
  54. End With
  55. Next
  56. MsgBox "生成数据表结构共计 " + CStr(count), vbOK + vbInformation, "表"
  57.  
  58. Exit Sub
  59. End sub

用VB脚本批到导入字段到PowerDesigner的更多相关文章

  1. VB脚本调用exe应用程序并传递参数

    VB脚本调用应用程序,并传递参数给exe应用程序: Private Sub CommandButton1_Click() Dim a a = Shell("D:\\ExperimentLin ...

  2. vb脚本自动更新版本信息

    使用的串口显示软件为secureCrt,支持脚本功能,今天写了一个简单的软件升级脚本(VB脚本). 如下: # $language = "VBScript" # $interfac ...

  3. Windows 用bat脚本带配置启动redis,并用vb脚本使其在后台运行。

    最近,在Windows上用开发PHP程序,需要用到Redis,每天要打开一个运行redis-server.exe的窗口这样比较烦,因为窗口就一直打开着,不能关闭. 所以就想着通过写脚本的方式,让他在后 ...

  4. 使用Wscript/cscript调用VB脚本

    ●强制用Wscript.exe执行 SET Wshell=CreateObject("Wscript.Shell") if lcase(right(Wscript.fullName ...

  5. PowerDesigner 16.5 使用VBScript脚本从Excel导入物理数据模型

    本文使用的数据库类型是Oracle 11g 最近在工作中遇到一个问题:数据的设计以表格的形式保存在Excel文件中.(由于保密原因,我只能看到数据库设计文档,无法访问数据库.=_=!) 其中包括Nam ...

  6. SQL脚本循环修改数据库字段类型

    数据库在设计的时候也许考虑不全面,导致某些字段类型不太准确.比如设计的时候是varchar(1024),但是实际使用的时候却发现太小了,装不下,于是需要修改字段类型为ntext什么的. 我最近就遇到了 ...

  7. django rest framework批量上传图片及导入字段

    一.项目需求 批量上传图片,然后批量导入(使用excel)每个图片对应的属性(属性共十个,即对应十个字段,其中外键三个). 二.问题 一次可能上传成百上千张图片和对应字段,原来数据库的设计我将图片和对 ...

  8. Python脚本连接数据库读取特定字段保存在文件中

    从Script表中取出Description字段作为文件名,并按协议将脚本归位相同的文件夹,取TestScript字段的内容写入文件 import MySQLdb import sys import ...

  9. zabbix3.4用Python脚本Excel批量导入主机

    1.安装xlrd读取Excel文件 1.1. 下载setuptools-38.2.4.zip,上传至zabbix服务器解压安装,下载地址:https://pypi.python.org/package ...

随机推荐

  1. webpack入门教程之Hello webpack(一)

    webpack入门教程系列为官网Tutorials的个人译文,旨在给予想要学习webpack的小伙伴一个另外的途径.如有不当之处,请大家指出. 看完入门教程系列后,你将会学习到如下内容: 1.如何安装 ...

  2. 开始学nodejs——net模块

    net模块的组成部分 详见 http://nodejs.cn/api/net.html 下面整理出了整个net模块的知识结构,和各个事件.方法.属性的用法 net.Server类 net.Socket ...

  3. AFNetworking 3.0 源码解读(六)之 AFHTTPSessionManager

    AFHTTPSessionManager相对来说比较好理解,代码也比较短.但却是我们平时可能使用最多的类. AFNetworking 3.0 源码解读(一)之 AFNetworkReachabilit ...

  4. CSS 3学习——transition 过渡

    以下内容根据官方规范翻译以及自己的理解整理. 1.介绍 这篇文档介绍能够实现隐式过渡的CSS新特性.文档中介绍的CSS新特性描述了CSS属性的值如何在给定的时间内平滑地从一个值变为另一个值. 2.过渡 ...

  5. input type='file'上传控件假样式

    采用bootstrap框架样式 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> &l ...

  6. MVC还是MVVM?或许VMVC更适合WinForm客户端

    最近开始重构一个稍嫌古老的C/S项目,原先采用的技术栈是『WinForm』+『WCF』+『EF』.相对于现在铺天盖地的B/S架构来说,看上去似乎和Win95一样古老,很多新入行的,可能就没有见过经典的 ...

  7. Maven搭建SpringMVC+Hibernate项目详解 【转】

    前言 今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多了,Spring-Security的就留在下一篇吧,这 ...

  8. 简历生成平台项目开发-STEP1问卷设计

    周五课程结束完后,小组建立QQ群和微信群,着手讨论项目问题.一开始的大概想法:就业信息平台,收集企业招聘信息和就业生资料,提供给学生和企业的校企对接平台.后来发现群里谭卓同学也有个相关的思路,经过商量 ...

  9. join Linq

    List<Publisher> Publishers = new List<Publisher>(); Publisher publish1 = new Publisher() ...

  10. 用C++实现Linux中shell的ls功能

    实现输出当前目录下的文件名 ls功能: 方法一: #include <iostream> #include <algorithm> #include <stdio.h&g ...