powerdesigner 使用excel 批量导入创建表
前言
因为公司要从 oracle 迁移到 mysql,同时也没有关于数据库的文档,同时数据库表太多了,一个一个手动建模,太没有效率了,所以网上查了一下,powerdesigner 使用的 visual basic 语言,可以使用脚本批量导入创建。
如何使用脚本
excel 样式
vbs 脚本
' 第一行是表头
' 第二行开始是列的描述,分别是:表名、表注释、列名、列数据类型、列数据长度、列是否为空、列注释
' Excel的sheet名称统一为Sheet1
'开始
Option ExplicitDim mdl ' the current model
Set mdl = ActiveModel
If (mdl Is Nothing) ThenMsgBox "There is no Active Model"
End IfDim HaveExcel
Dim RQ
RQ = vbYes 'MsgBox("Is Excel Installed on your machine ?", vbYesNo + vbInformation, "Confirmation")
If RQ = vbYes ThenHaveExcel = True' Open & Create Excel DocumentDim x1 'Set x1 = CreateObject("Excel.Application")x1.Workbooks.Open "C:\Users\hp\Desktop\sql.xlsx" '指定 excel文档路径x1.Workbooks(1).Worksheets("Sheet1").Activate '指定要打开的sheet名称
ElseHaveExcel = False
End Ifa x1, mdlsub a(x1, mdl)dim rwIndex
dim table
dim tableName
dim colname
dim col
dim dataType
dim tableCommenton error Resume Nextset tableName = ""
set tableComment = ""For rwIndex = 2 To 9713 'With x1.Workbooks(1).Worksheets("Sheet1")If tableName = "" Then' 创建表set table = mdl.Tables.CreateNew '创建一个 表实体tableName = .Cells(rwIndex, 1).Value '表名tableComment = .Cells(rwIndex, 2).ValueIf tableComment = "" Then table.Name=tableName '表名Else table.Name=tableComment '表名End Iftable.Code=.Cells(rwIndex, 1).Value '表标识table.Comment=tableComment '表注释ElseIf tableName = .Cells(rwIndex, 1).Value ThenElseset table = mdl.Tables.CreateNew '创建一个 表实体tableName = .Cells(rwIndex, 1).Value '表名table.Name=.Cells(rwIndex, 1).Value '表名table.Code=.Cells(rwIndex, 1).Value '表标识table.Comment=.Cells(rwIndex, 2).Value '表注释End If' 创建列set col = table.Columns.CreateNew '创建一列/字段If .Cells(rwIndex, 7).Value = "" Thencol.Name = .Cells(rwIndex, 3).Value '指定列名Elsecol.Name = .Cells(rwIndex, 7).Value '指定列名End Ifcol.Code = .Cells(rwIndex, 3).Valuecol.Comment = .Cells(rwIndex, 7).Value '指定列说明dataType = .Cells(rwIndex, 4).Value '指定列数据类型Select Case dataTypeCase "DATE"col.DataType = "datetime"CASE "VARCHAR2"col.DataType = Replace("varchar(%s)","%s", .Cells(rwIndex, 5).Value)CASE "NVARCHAR2"col.DataType = Replace("varchar(%s)","%s", .Cells(rwIndex, 5).Value)CASE "CHAR"col.DataType = Replace("char(%s)","%s", .Cells(rwIndex, 5).Value)CASE "CLOB"col.DataType = "text"CASE "BLOB"col.DataType = "BLOB"CASE "FLOAT"col.DataType = Replace("float(%s)","%s", .Cells(rwIndex, 5).Value)CASE "NUMBER"col.DataType = "bigint"CASE "RAW"col.DataType = Replace("binary(%s)","%s", .Cells(rwIndex, 5).Value)CASE "TIMESTAMP(6)"col.DataType = "timestamp"END SelectIf .Cells(rwIndex, 3).Value = "ID" Thencol.Primary = true '指定列是否主键 true 为主键 '指定列是否可空 true 为不可空 End IfIf .Cells(rwIndex, 6).Value = "Y" Thencol.Mandatory = true '指定列是否主键 true 为主键 End IfEnd With
Next
MsgBox "生成成功"Exit Sub
End sub
powerdesigner 使用excel 批量导入创建表相关推荐
- PowerDesigner使用脚本批量导入excel
在PowerDesigner使用脚本批量导入excel中记录的表结构信息 由于需要通过powerdesigner逆向工程创建一些sybase IQ的表,由于是接口数据,只有excel表, 手动导入太耗 ...
- php批量添加excel数据库表,php 把excel批量导入到数据库代码
php 把excel批量导入到数据库代码 我们是利用了ExcelFileParser这个扩展来处理的哦, Excel数据获取演示 Excel数据获取演示 /** * CopyRight (c) 200 ...
- excel批量超链接工作表_在Excel工作表中创建到另一个文档的超链接
excel批量超链接工作表 Sometimes you might want to share information from other documents in Microsoft Excel. ...
- SpringMVC框架通过Excel批量导入数据
文章目录 SpringMVC框架通过Excel批量导入数据 1.导入需要的jar包 2.配置文件 3.创建Java对象类 4.解析Excel表格数据的工具类 5.前端请求 6.Controller处理 ...
- Spring Boot 实现excel 批量导入数据(模板下载 ->数据导入->导入失败表格下载)
批量导入数据以用户为例[不贴数据库操作代码,都是简单的插入和查询操作自己写] 1 导入依赖 2 批量导入模板下载 3 批量导入数据 准备工作 实现代码 测试接口 4 下载导入失败表格 5 实体类 6 ...
- Java实现Excel批量导入数据库
springboot实现Excel批量导入数据库 前言:项目开发中最容易碰到的需求即将Excel数据批量上传到数据库中存储 -> Java实现,Excel数据表,MySQL数据库,具体步骤如下- ...
- excel批量导入数据
这个功能也是我以前项目中经常用到的,感觉很实用,必须拿来分享下: excel进行批量导入数据,结合struts2+ajax 导入的视图:batchAdd.ftl(视图无关紧要的,可以换成其他任何视图, ...
- Springboot Excel批量导入数据
POI处理Excel <!-- poi处理excel --><dependency><groupId>org.apache.poi</groupId>& ...
- excel宏转txt替换强制换行符_三个步骤学会用EXCEL批量导入anki题库
Anki真的是个好用到不想推荐给朋友的软件,本人最近准备刷个新题库,找了一上午找不到原来教我EXCEL导入anki的网页,为了防止我自己过段时间又忘了应该怎么导入,我写了这个教程,写都写了,就顺手发出 ...
最新文章
- C# 中SqlParameter类的使用方法小结
- 移动互联网漫谈(4)-移动通信网络
- Leetcode 127. 单词接龙 解题思路及C++实现
- Java中windows路径转换成linux路径等工具类
- 15 sql base line 工作机制
- leetcode 566. 重塑矩阵(Java版,坐标转换)
- linux系统中如何查看日志 (常用命令2)
- ruby array_Array.select! Ruby中的示例方法
- zuul zuul2 性能_我们学习如何构建Zuul CI / CD云
- carlife android 无线,carlife无线连接流程是什么
- 挖一挖C#中那些我们不常用的东西之系列(2)——IsXXX 系列方法
- MSN登录问题:Error 80072ee7
- HDU2504 又见GCD
- nginx针对请求的uri来代理
- mtk flashtools工具回读镜像文件system.img
- 找出大于200的最小质数
- A pretty carpet
- 外地新能源汽车迁入北京需要哪些条件?
- HDU 4513 吉哥系列故事――完美队形II(Manacher)
- C++程序设计图书信息管理系统(页面)