PowerDesigner从Physical Data Model转Excel
参考资料:http://www.cnblogs.com/hggc/archive/2013/10/15/3369857.html
由于有把ER图转Excel的需求,幸运地找到一个可用脚本,稍做修改完成需求
1. 环境
Windows 7+PowerDesigner 15.0.0.2613
2. 执行
1)打开需求转化的pdm文件
2)按下ctrl+shift+x
3)在输入范围内添加脚本内容并执行
- '******************************************************************************
- '* File: pdm2excel.txt
- '* Title: pdm export to excel
- '* Purpose: To export the tables and columns to Excel
- '* Model: Physical Data Model
- '* Objects: Table, Column, View
- '* Version: 1.0
- '******************************************************************************
- Option Explicit
- Dim rowsNum
- rowsNum =
- '-----------------------------------------------------------------------------
- ' Main function
- '-----------------------------------------------------------------------------
- ' Get the current active model
- Dim Model
- Set Model = ActiveModel
- If (Model Is Nothing) Or (Not Model.IsKindOf(PdPDM.cls_Model)) Then
- MsgBox "The current model is not an PDM model."
- Else
- ' Get the tables collection
- '创建EXCEL APP
- dim beginrow
- DIM EXCEL, SHEET
- set EXCEL = CREATEOBJECT("Excel.Application")
- EXCEL.workbooks.add(-)'添加工作表
- EXCEL.workbooks().sheets().name ="test"
- set sheet = EXCEL.workbooks().sheets("test")
- ShowProperties Model, SHEET
- EXCEL.visible = true
- '设置列宽和自动换行
- sheet.Columns().ColumnWidth =
- sheet.Columns().ColumnWidth =
- sheet.Columns().ColumnWidth =
- sheet.Columns().WrapText =true
- sheet.Columns().WrapText =true
- sheet.Columns().WrapText =true
- End If
- '-----------------------------------------------------------------------------
- ' Show properties of tables
- '-----------------------------------------------------------------------------
- Sub ShowProperties(mdl, sheet)
- ' Show tables of the current model/package
- rowsNum=
- beginrow = rowsNum+
- ' For each table
- output "begin"
- Dim tab
- For Each tab In mdl.tables
- ShowTable tab,sheet
- Next
- if mdl.tables.count > then
- sheet.Range("A" & beginrow + & ":A" & rowsNum).Rows.Group
- end if
- output "end"
- End Sub
- '-----------------------------------------------------------------------------
- ' Show table properties
- '-----------------------------------------------------------------------------
- Sub ShowTable(tab, sheet)
- If IsObject(tab) Then
- Dim rangFlag
- rowsNum = rowsNum +
- ' Show properties
- Output "================================"
- sheet.cells(rowsNum, ) = "表名"
- sheet.cells(rowsNum, ) =tab.name
- sheet.cells(rowsNum, ) =tab.comment
- sheet.Range(sheet.cells(rowsNum, ),sheet.cells(rowsNum, )).Interior.Color = vbYellow
- sheet.Range(sheet.cells(rowsNum, ),sheet.cells(rowsNum, )).font.color=vbRed
- rowsNum = rowsNum +
- sheet.cells(rowsNum, ) = "属性名"
- sheet.cells(rowsNum, ) = "字段类型"
- sheet.cells(rowsNum, ) = "说明"
- '设置边框
- sheet.Range(sheet.cells(rowsNum-, ),sheet.cells(rowsNum, )).Borders.LineStyle = ""
- Dim col ' running column
- Dim colsNum
- colsNum =
- for each col in tab.columns
- rowsNum = rowsNum +
- colsNum = colsNum +
- sheet.cells(rowsNum, ) = col.name
- sheet.cells(rowsNum, ) = col.datatype
- sheet.cells(rowsNum, ) = col.comment
- next
- sheet.Range(sheet.cells(rowsNum-colsNum+,),sheet.cells(rowsNum,)).Borders.LineStyle = ""
- rowsNum = rowsNum +
- Output "FullDescription: " + tab.Name
- End If
- End Sub
3. 结果
表名 | userinfo | 个人信息 |
属性名 | 字段类型 | 说明 |
user_id | bigint(20) | |
address | varchar(100) | |
degree | varchar(2) | 最高学历 |
working_age | int(11) | 教龄 |
title | varchar(50) | 职称 |
PowerDesigner从Physical Data Model转Excel的更多相关文章
- powerdesigner 数据库表定义导出到excel
shift+ctrl+X,打开脚本运行,脚本如下:'************************************************************************** ...
- Data Model for Message Receiver
1. Physical Data Model 2. SQL Statements drop database MessageReceiver go /*======================== ...
- 数据库系统概述(Data Model、DBMS、DBS、RDBS、Structured Query Language)
数据Data 描述事物的符号记录成为数据. 数据是数据库中存储的基本对象. 除了基本的数字之外.像图书的名称.价格.作者都可以称为数据. 将多种数据记录列成一张表.通过数据表管理数据. 每一行的数 ...
- HBase 数据模型(Data Model)
HBase Data Model--HBase 数据模型(翻译) 在HBase中,数据是存储在有行有列的表格中.这是与关系型数据库重复的术语,并不是有用的类比.相反,HBase可以被认为是一个多维度的 ...
- 关于powerdesigner中的data types说明
原文:关于powerdesigner中的data types说明 这一堆的数据类型看着真是头大,弄个表格对照一下. Numeric data types Standard datatype DBMS- ...
- Data Management Technology(2) -- Data Model
1.Data Model Model Is the abstraction of real world Reveal the essence of objects, help people to lo ...
- Sentry 监控 - Snuba 数据中台架构(Data Model 简介)
系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...
- ExtJS笔记 Ext.data.Model
A Model represents some object that your application manages. For example, one might define a Model ...
- Entity Framework的核心 – EDM(Entity Data Model) 一
http://blog.csdn.net/wangyongxia921/article/details/42061695 一.EnityFramework EnityFramework的全程是ADO. ...
随机推荐
- EasyUI、Struts2、Hibernate、spring 框架整合
经历了四个月的学习,中间过程曲折离奇,好在坚持下来了,也到了最后框架的整合中间过程也只有自己能体会了. 接下来开始说一下整合中的问题和技巧: 1, jar包导入 c3p0(2个).jdbc(1个). ...
- 微信https请求工具类
工作中用到的微信https请求工具类. package com.gxgrh.wechat.tools; import com.gxgrh.wechat.wechatapi.service.System ...
- Install Nvidia driver 367.18 or later
Install Nvidia driver 367.18 or later from ppa:graphics-drivers/ppa as follows: sudo add-apt-reposit ...
- Windows下的Memcache安装
Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在终端(也即cmd命令界面)下输入 'c:\memca ...
- 实验二 用C语言表示进程的调度
实验二 一. 实验目的 通过模拟进程的调度,进一步了解进程的调度的具体过程. 二. 实验内容和要求 1.进程PCB的结构体定义 2.定义队列 3.输入进程序列 4.排序(按到位时间) 5.输出进程运行 ...
- /proc 【虚拟文件系统】
在安装新硬件到 Linux 系统之前,你会想要知道当前系统的资源配置状况. Linux 将这类信息全集中在 /proc 文件系统下./proc 目录下的文件都是 Linux 内核虚拟出来的,当你读取它 ...
- hadoop启动是常见小问题
1.先su进入root账户,然后 service iptables stop //关闭防火墙 start-all.sh //启动 2.启动是会显示,如果出错日志保存路径!!!基本所有问题都要去这些日志 ...
- .net mvc利用NPOI导入导出excel
1.导出Excel :首先引用NPOI包(Action一定要用FileResult) /// <summary> /// 批量导出需要导出的列表 /// </summary> ...
- TAP/TUN(二)
tap.c代码 #include<assert.h> #include<fcntl.h> #include<stdio.h> #include<st ...
- 利用反射调用方法时,处理ref,out参数需要注意的问题(转)
转自:http://www.68idc.cn/help/buildlang/ask/20150318283817.html 项目中如下的泛型方法,因为要在运行时,动态指定类型参数,所以要利用反射来实现 ...