在powerdesigner里怎么把pdm转成excel

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在powerdesigner里怎么把pdm转成excel相关的知识,希望对你有一定的参考价值。

  在数据库中执行sql语句。具体代码如下:

  '* 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: ...

  '* Created: ...

  '* Version: ...

  '******************************************************************************
  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

  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
参考技术A 你可以使用逆向工程来完成你要的操作
首先你先在你的数据库中执行你的sql语句
然后场沪冠轿攉计圭袭氦陋通过PD中的逆向工程来完成本回答被提问者和网友采纳

Powerdesigner逆向生成Mysql PDM模型

以上是关于在powerdesigner里怎么把pdm转成excel的主要内容,如果未能解决你的问题,请参考以下文章

powerdesigner怎样把pdm模型转成数据库表

如何用Powerdesigner的PDM生成数据库

powerdesigner 生成mysql PDM 的COMMENT注释

PowerDesigner之PDM(物理概念模型)各种属性建立如PK,AK等

PowerDesigner15教程,Oracle11g数据库

PowerDesigner 的mysql PDM 的COMMENT注释