问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在powerdesigner里怎么把pdm转成excel

发布网友 发布时间:2022-04-10 13:10

我来回答

3个回答

懂视网 时间:2022-04-10 17:31

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

代码二:每个表都会新建一个 Sheet 页,第一个 Sheet 页上是所有表的列表

‘****************************************************************************** 
‘* 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: Chirs 
‘* Created: 2015-01-28 
‘* 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, BOOK, SHEET
 Set EXCEL = CreateObject("Excel.Application")
 EXCEL.Visible = True
 Set BOOK = EXCEL.Workbooks.Add(-4167) ‘新建工作簿
 
 BOOK.Sheets(1).Name = "数据库表结构"
 Set SHEET = EXCEL.workbooks(1).sheets("数据库表结构")
 
 ShowProperties Model, SHEET
 EXCEL.visible = true 
 ‘设置列宽和自动换行 
 SHEET.Columns(1).ColumnWidth = 10 
 SHEET.Columns(2).ColumnWidth = 30 
 SHEET.Columns(3).ColumnWidth = 20 
 
 SHEET.Columns(1).WrapText =true 
 SHEET.Columns(2).WrapText =true 
 SHEET.Columns(3).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
 
‘----------------------------------------------------------------------------- 
‘ 数据表查询 
‘-----------------------------------------------------------------------------
Sub ShowTable(tab, sheet) 
 If IsObject(tab) Then 
 Dim rangFlag
 sheet.cells(1, 1) = "序号" 
 sheet.cells(1, 2) = "表名"
 sheet.cells(1, 3) = "实体名"
 ‘设置边框 
 sheet.Range(sheet.cells(1, 1),sheet.cells(1, 3)).Borders.LineStyle = "1"
 ‘设置背景颜色
 sheet.Range(sheet.cells(1, 1),sheet.cells(1, 3)).Interior.ColorIndex = "19"
 
 rowsNum = rowsNum + 1
 sheet.cells(rowsNum+1, 1) = rowsNum 
 sheet.cells(rowsNum+1, 2) = tab.code
 sheet.cells(rowsNum+1, 3) = tab.name
 ‘设置边框
 sheet.Range(sheet.cells(rowsNum+1,1),sheet.cells(rowsNum+1,3)).Borders.LineStyle = "2"
 
 ‘增加Sheet
 BOOK.Sheets.Add , BOOK.Sheets(BOOK.Sheets.count)
 BOOK.Sheets(rowsNum+1).Name = tab.code 
 
 Dim shtn
 Set shtn = EXCEL.workbooks(1).sheets(tab.code)
 ‘设置列宽和换行
 shtn.Columns(1).ColumnWidth = 30 
 shtn.Columns(2).ColumnWidth = 20 
 shtn.Columns(3).ColumnWidth = 20
 shtn.Columns(5).ColumnWidth = 30 
 shtn.Columns(6).ColumnWidth = 20 
 
 shtn.Columns(1).WrapText =true 
 shtn.Columns(2).WrapText =true 
 shtn.Columns(3).WrapText =true
 shtn.Columns(5).WrapText =true 
 shtn.Columns(6).WrapText =true
 
 ‘设置列标题
 shtn.cells(1, 1) = "字段中文名" 
 shtn.cells(1, 2) = "字段名"
 shtn.cells(1, 3) = "字段类型"
 shtn.cells(1, 5) = tab.code
 shtn.cells(1, 6) = tab.Name
 ‘设置边框 
 shtn.Range(shtn.cells(1, 1),shtn.cells(1, 3)).Borders.LineStyle = "1"
 shtn.Range(shtn.cells(1, 5),shtn.cells(1, 6)).Borders.LineStyle = "1"
 ‘设置背景颜色
 shtn.Range(shtn.cells(1, 1),shtn.cells(1, 3)).Interior.ColorIndex = "19"
 shtn.Range(shtn.cells(1, 5),shtn.cells(1, 6)).Interior.ColorIndex = "19"
 
 Dim col ‘ running column 
 Dim colsNum
 Dim rNum 
 colsNum = 0
 rNum = 0 
  for each col in tab.columns 
  rNum = rNum + 1 
  colsNum = colsNum + 1 
 
  shtn.cells(rNum+1, 1) = col.name 
  shtn.cells(rNum+1, 2) = col.code 
  shtn.cells(rNum+1, 3) = col.datatype 
  next 
  shtn.Range(shtn.cells(rNum-colsNum+2,1),shtn.cells(rNum+1,3)).Borders.LineStyle = "2"  
  rNum = rNum + 1 
 
  Output "FullDescription: " + tab.Name
 
 End If 
End Sub

 

PowerDesigner数据库设计导出到Excel

标签:count   set   sheet   wrap   xpl   dex   purpose   excel   一个   

热心网友 时间:2022-04-10 14:39

  在数据库中执行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

热心网友 时间:2022-04-10 15:57

你可以使用逆向工程来完成你要的操作
首先你先在你的数据库中执行你的sql语句
然后场沪冠轿攉计圭袭氦陋通过PD中的逆向工程来完成
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 有什么玄幻小说男主有神兽血脉 求小说 主角是妖兽或者魔兽 神兽都行 玄幻的 完结免费的 求男主角是妖兽神兽或魔兽的玄幻小说,最好字多或完本,多发点就采纳。 有没有男主是神兽之类的玄幻小说?非人类也行,多女主单女主都行,只有最后在一起就行。。跪求一部 求玄幻小说主角是神兽或者主角会变身的! 男主拥有上古凶兽穷奇还有凤凰的玄幻小说 主角是神兽的玄幻小说。 大家推荐一些小说,是关于主人公的本体是妖魔,或妖兽的小说 是玄幻的,修仙的 谢谢!! 主角本体为上古凶兽的小说 梦见白狐狸吹我的脸,而且还对我说过几天脸脱皮了就漂亮了? 梦见狐狸咬自己脸 梦见狐狸在吻我脸 做梦梦到狐狸舔我,它好像不是想伤害我 生活中有哪些食物易消化,哪些食物不易消化?请详细说出是哪些食物,别说什么什么类。越多越详细,好的加分 我梦到白色的狐狸在我怀里舔我的脸 哪些是不易消化的食物 人的胃不能消化哪些物质? 消化不良的人,平时不能吃哪些食品? 哪些食物容易使人消化不良? 过年是什么命年 有一部小说主角叫凶曽 谁能介绍几本主角拥有很多顶级神兽的玄幻言情小说 推荐几本好看的玄幻小说吧~~要主角一开始实力就很变态的那种的那种 主角一开始就有神兽的玄幻小说 主角一开始就无敌又有神兽很猛的玄幻小说只要修真的 武极天下里面凶兽对应的境界 大荒十大凶兽出自小说《蛮荒记》中,分别是哪些凶兽? 能改变喷壶喷出来的形状吗 雪莲果怎么存放时间最长? 的·提问▍请问怎么用美图秀秀去掉原图上的LOGO 如何把PowerDesigner 8的表设计导到EXCEL中 梦见一个男人借鞋子给老婆穿但是她又没穿好不好 梦见暗恋的男生给他女朋友系鞋带是什么预兆? 周公解梦!我昨晚梦见别人说我喜欢的男人喝醉了然后说他喜欢我,我还梦见我送了一双鞋给他,他很开心,... 梦见别人老婆穿老公给她买的鞋 梦见老婆说有别的男人给她买鞋子 别的男人送鞋子给我老婆 oppoa52屏幕锁怎么破 oppoa52忘记密码怎么打开 树上摘的木耳怎么清洗