碰到一个需求,需要将PowerDesigner中的数据库表结构数据导成Excel,网上看到一个很便捷的方法,记录一下
在PowerDesigner中,shift+ctrl+X,打开脚本运行,脚本如下
'****************************************************************************** '* 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 '* Author: ziyan '* Created: 2012-05-03 '* Version: 1.0 '****************************************************************************** Option Explicit Dim rowsNum rowsNum = 0 '----------------------------------------------------------------------------- ' 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(-4167)'添加工作表 EXCEL.workbooks(1).sheets(1).name ="test" set sheet = EXCEL.workbooks(1).sheets("test") ShowProperties Model, SHEET EXCEL.visible = true '设置列宽和自动换行 sheet.Columns(1).ColumnWidth = 20 sheet.Columns(2).ColumnWidth = 40 sheet.Columns(4).ColumnWidth = 20 sheet.Columns(5).ColumnWidth = 20 sheet.Columns(6).ColumnWidth = 15 sheet.Columns(1).WrapText =true sheet.Columns(2).WrapText =true sheet.Columns(4).WrapText =true End If '----------------------------------------------------------------------------- ' Show properties of tables '----------------------------------------------------------------------------- Sub ShowProperties(mdl, sheet) ' Show tables of the current model/package rowsNum=0 beginrow = rowsNum+1 ' For each table output "begin" Dim tab For Each tab In mdl.tables ShowTable tab,sheet Next if mdl.tables.count > 0 then sheet.Range("A" & beginrow + 1 & ":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 + 1 ' Show properties Output "================================" sheet.cells(rowsNum, 1) = "实体名" sheet.cells(rowsNum, 2) =tab.name sheet.cells(rowsNum, 3) = "" sheet.cells(rowsNum, 4) = "表名" sheet.cells(rowsNum, 5) = tab.code sheet.Range(sheet.cells(rowsNum, 5),sheet.cells(rowsNum, 6)).Merge rowsNum = rowsNum + 1 sheet.cells(rowsNum, 1) = "属性名" sheet.cells(rowsNum, 2) = "说明" sheet.cells(rowsNum, 3) = "" sheet.cells(rowsNum, 4) = "字段中文名" sheet.cells(rowsNum, 5) = "字段名" sheet.cells(rowsNum, 6) = "字段类型" '设置边框 sheet.Range(sheet.cells(rowsNum-1, 1),sheet.cells(rowsNum, 2)).Borders.LineStyle = "1" sheet.Range(sheet.cells(rowsNum-1, 4),sheet.cells(rowsNum, 6)).Borders.LineStyle = "1" Dim col ' running column Dim colsNum colsNum = 0 for each col in tab.columns rowsNum = rowsNum + 1 colsNum = colsNum + 1 sheet.cells(rowsNum, 1) = col.name sheet.cells(rowsNum, 2) = col.comment sheet.cells(rowsNum, 3) = "" sheet.cells(rowsNum, 4) = col.name sheet.cells(rowsNum, 5) = col.code sheet.cells(rowsNum, 6) = col.datatype next sheet.Range(sheet.cells(rowsNum-colsNum+1,1),sheet.cells(rowsNum,2)).Borders.LineStyle = "2" sheet.Range(sheet.cells(rowsNum-colsNum+1,4),sheet.cells(rowsNum,6)).Borders.LineStyle = "2" rowsNum = rowsNum + 1 Output "FullDescription: " + tab.Name End If End Sub
相关推荐
1,打开PowerDesigner,找到创建的物理模型(Physical Data Model), 2,使用快捷键,或者 在PowerDesigner菜单栏中,依次点击“Tools ->Excute Commands->Edit/Run Script....4,将导出的结果(Excel)保存到自己的位置
步骤: 1、用PowerDesigner打开要导出的PDM文件 2、Tools->Execute Commands -> Edit/Run Script... 3、点击Open图标(打开文件夹)找到该脚本文件 4、点击Run按钮
PowerDesigner中导出表结构Excel
总的来说,"PowerDesigner导出数据表结构"涉及到数据库设计流程中的一个重要环节,即模型的输出和共享。通过正确地使用PowerDesigner的导出功能,可以有效地管理和维护数据库结构,提高团队协作的效率。而提供的.rtp...
### PowerDesigner从数据库中导出表结构 #### 一、PowerDesigner简介 PowerDesigner是一款功能强大的CASE工具,广泛应用于数据库设计、数据建模等领域。它能够帮助开发人员和数据库管理员快速构建高质量的数据模型...
本文将详细介绍如何使用PowerDesigner从Oracle数据库中导出表结构到Word文档。 首先,需要新建一个 Physical Data Model,在PowerDesigner中创建一个新的Model,并选择DBMS为Oracle Version 11g。然后,选择...
本文将详细介绍如何使用PowerDesigner 16.5将数据库表结构导出为Word文档,以及相关的数据库操作和配置。 一、连接数据库 1. 启动PowerDesigner,进入主界面。点击菜单栏中的“Database”(数据库),然后选择...
"PowerDesigner导出表结构"这一操作是数据库管理员和开发人员日常工作中常见的需求,它能让我们清晰地了解数据库的架构,并方便地进行维护和共享。 PowerDesigner支持多种数据库管理系统,包括Oracle。在本例中,...
执行脚本命令,把pdm文件导出成Excel格式的表结构定义。
PowerDesigner从数据库中导出表结构 PowerDesigner是一款功能强大且广泛应用于数据建模和数据库设计的软件工具,支持多种类型的数据库管理系统,包括Oracle、Microsoft SQL Server、DB2、Informix等。在实际应用中...
通过PowerDesigner的脚本功能,用户可以实现将Excel中的数据转换为PowerDesigner模型中的表结构。这种方法尤其适用于需要快速基于已有数据定义表结构的情况。 #### 准备工作 在开始之前,请确保您的计算机上已安装...
在实际应用中,用户常需要将 Powerdesigner 15 中的表结构导出到 Word 文档中,以便于与其他团队成员或外部合作伙伴进行交流和分享。以下是使用 Powerdesigner 15 将表结构导出到 Word 文档的操作指南。 Step 1: ...
本文将详细介绍如何使用PowerDesigner从Oracle数据库导出表结构到Word文档,无论是通过预设模板还是自定义报告。 首先,我们需要创建一个新的模型(Physical Data Model)。在PowerDesigner中,这被称为"Model1",...
PowerDesigner导出数据表结构到Excel 一个表一个Sheet 带链接目录。每个表一个链接
该方法为powerdesigner逆向连接oracle数据库,生成.pdm文件,然后根据.pdm文件导出数据库文档的方法,文档中的方法都已经测试,可以导出word,html,和word三种格式。
标题中的“PowerDesigner导出word,PowerDesigner把表导出到word,PDM导出word文档”涉及到的是使用PowerDesigner这款强大的数据库设计工具将数据库模型(PDM,Physical Data Model)转换为Word文档的过程。...
2. **选择要导出的对象**:在项目中,选择你需要导出到Excel的表结构。你可以通过选择整个数据库、特定的表或视图来定制导出内容。 3. **设置导出选项**:在“文件”菜单中,找到“导出”选项,然后选择“Excel”...
可以通过PowerDesigner生成数据表结构,打开pd脚本编辑器 PD菜单栏中,依次点击“Tools ->Excute Commands->Edit/Run Script..”,选择执行本文的vbs文件即可生成excel
powerdesigner导出excel脚本