PowerDesigner中模型设计导出Excel表格

今天项目做设计,客户要看数据设计,需要到处Excel表格。去网上搜索下,把使用总结如下:
已经完成设计的pd设计
打开pd,快捷键Ctrl + Shift + X或者Tools>Exectue Commands > Edit/Run Script
'******************************************************************************

'* File:     pdm2excel.txt

'* Title:    pdm export to excel

'* Purpose:  To export the tables and columns to Excel

'* Model:    Physical Data Model 16.5 , Microsoft Office 2007

'* Objects:  Table, Column, View

'******************************************************************************

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
执行完毕后,便会自动创建一个Excel文件,接下来我们另存为就可以了。
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 要将PowerDesigner的数据导出Excel,可以按照以下步骤操作: 1. 打开PowerDesigner软件,选择需要导出模型或者图表。 2. 在菜单栏选择“文件”-“导出”-“Excel文件”。 3. 在弹出的“导出Excel文件”对话框,选择需要导出的对象类型和属性,设置导出选项,然后点击“确定”按钮。 4. 在弹出的“保存Excel文件”对话框,选择保存路径和文件名,然后点击“保存”按钮。 5. 等待导出完成后,就可以在指定的保存路径找到导出Excel文件了。 需要注意的是,PowerDesigner导出Excel文件可能需要进行一些格式调整和数据清理,以便更好地满足实际需求。 ### 回答2: PowerDesigner 是一款数据建模和管理软件,经常用于数据架构设计和数据库管理。 通过 PowerDesigner,可以方便地对任何组织内的业务和业务流程进行建模,以及对应的数据库进行管理。 PowerDesigner 导出数据模型功能也是非常重要的,其最常用的导出格式便是 Excel。 首先,在 PowerDesigner 打开需要导出的数据模型。 其次,点击“文件”→“Excel 模板”→“定义”。 然后,选择 Excel 文件类型及文件名,并在 内容选择“数据模型”。 在“数据模型”选项卡,可以选择需要导出的对象类型,例如,表、列、键、索引等等。如果需要导出的对象比较多,可以通过勾选“逐步筛选”来逐步细化筛选条件,以便更精确地导出目标对象。 接下来,可以选择需要导出的属性,例如,表名称、列名称、数据类型等等,并按需对导出字段进行排序,也可以在此处设置筛选条件。 最后,单击“确定”按钮,即可将数据模型导出 Excel 文件,可以通过 Microsoft Excel 打开并查看导出结果。如果需要再次导出数据模型,只需要重复以上步骤,并在弹出的导出对话框选择正确的选项即可。 总体来讲,PowerDesigner 导出 Excel 功能非常强大和灵活,用户可以根据实际需要,在导出前先进行设置并进行一些适当的筛选条件,以确保导出结果的准确性和完整性。此外,导出后的数据模型也可以在 Excel 进行编辑和调整,以适应不同的需求和应用场景。 ### 回答3: PowerDesigner是一套非常实用的数据建模和分析软件,可以帮助用户快速高效地设计和管理数据库、数据仓库、业务流程等等。而PowerDesigner所支持的导出格式Excel可以说是最为常见和大众化的一种。下面,我将为大家介绍如何通过PowerDesigner导出Excel文件,并为大家解决在实际操作遇到的问题。 首先,在PowerDesigner选择需要导出模型,然后在上方工具栏找到“文件”菜单,点击“导出”选项。接着,选择“Microsoft Excel (*.xls)”或“Microsoft Excel 2007/2010/2013(*.xlsx)”格式,然后设置相关参数如导出选项、输出路径、输出内容等等。最后,点击“确定”即可开始导出过程。 在实际操作过程,用户可能会遇到一些问题,如: 1. Excel文件打开速度慢:这是因为导出Excel文件体积可能较大,可以考虑把表格拆分成多个sheet或分批导出; 2. 导出Excel数据格式不符合要求:用户可以在导出设置选择“自定义模板”,进一步对导出格式和样式进行设置和维护; 3. PowerDesigner导出Excel文件文乱码:这是因为导出Excel默认编码格式与文字符集不匹配,用户可以在导出设置选择UTF-8编码格式,解决乱码问题。 通过上述操作,PowerDesigner导出Excel就可以轻松搞定。总的来说,PowerDesigner作为一款非常优秀的架构设计工具,具有操作简便、功能强大、UI友好等众多优点,无论是在建模、分析、协作等方面都能给用户提供高效便捷的帮助。对于那些经常需要进行大量数据处理和分析的用户,更是不可或缺的好帮手。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值