Home >Database >Mysql Tutorial >PowerDesigner生成excel

PowerDesigner生成excel

WBOY
WBOYOriginal
2016-06-07 14:50:231334browse

PowerDesigner生成excel脚本代码 Option Explicit Dim rowsNum rowsNum = 0 '----------------------------------------------------------------------------- ' Main function '------------------------------------------------------------------------

PowerDesigner生成excel脚本代码

<code class=" hljs vbnet"><span class="hljs-keyword">Option</span> <span class="hljs-keyword">Explicit</span>

   <span class="hljs-keyword">Dim</span> rowsNum

   rowsNum = <span class="hljs-number">0</span>

<span class="hljs-comment">'-----------------------------------------------------------------------------</span>

<span class="hljs-comment">' Main function</span>

<span class="hljs-comment">'-----------------------------------------------------------------------------</span>

<span class="hljs-comment">' Get the current active model</span>

<span class="hljs-keyword">Dim</span> Model

<span class="hljs-keyword">Set</span> Model = ActiveModel

<span class="hljs-keyword">If</span> (Model <span class="hljs-keyword">Is</span> <span class="hljs-literal">Nothing</span>) <span class="hljs-keyword">Or</span> (<span class="hljs-keyword">Not</span> Model.IsKindOf(PdPDM.cls_Model)) <span class="hljs-keyword">Then</span>

  MsgBox <span class="hljs-string">"The current model is not an PDM model."</span>

<span class="hljs-keyword">Else</span>

 <span class="hljs-comment">' Get the tables collection</span>

 <span class="hljs-comment">'创建EXCEL APP</span>

 <span class="hljs-keyword">dim</span> beginrow

 <span class="hljs-keyword">DIM</span> EXCEL, SHEET

 <span class="hljs-keyword">set</span> EXCEL = CREATEOBJECT(<span class="hljs-string">"Excel.Application"</span>)

 EXCEL.workbooks.add(-<span class="hljs-number">4167</span>)<span class="hljs-comment">'添加工作表</span>

 EXCEL.workbooks(<span class="hljs-number">1</span>).sheets(<span class="hljs-number">1</span>).name =<span class="hljs-string">"test"</span>

 <span class="hljs-keyword">set</span> sheet = EXCEL.workbooks(<span class="hljs-number">1</span>).sheets(<span class="hljs-string">"test"</span>)



 ShowProperties Model, SHEET

 EXCEL.visible = <span class="hljs-literal">true</span>

 <span class="hljs-comment">'设置列宽和自动换行</span>

 sheet.Columns(<span class="hljs-number">1</span>).ColumnWidth = <span class="hljs-number">20</span> 

 sheet.Columns(<span class="hljs-number">2</span>).ColumnWidth = <span class="hljs-number">40</span> 
 sheet.Columns(<span class="hljs-number">3</span>).ColumnWidth = <span class="hljs-number">30</span>

 sheet.Columns(<span class="hljs-number">1</span>).WrapText =<span class="hljs-literal">true</span>

 sheet.Columns(<span class="hljs-number">2</span>).WrapText =<span class="hljs-literal">true</span>

 sheet.Columns(<span class="hljs-number">4</span>).WrapText =<span class="hljs-literal">true</span>

 <span class="hljs-keyword">End</span> <span class="hljs-keyword">If</span>

<span class="hljs-comment">'-----------------------------------------------------------------------------</span>

<span class="hljs-comment">' Show properties of tables</span>

<span class="hljs-comment">'-----------------------------------------------------------------------------</span>

<span class="hljs-keyword">Sub</span> ShowProperties(mdl, sheet)

   <span class="hljs-comment">' Show tables of the current model/package</span>

   rowsNum=<span class="hljs-number">0</span>

   beginrow = rowsNum+<span class="hljs-number">1</span>

   <span class="hljs-comment">' For each table</span>

   output <span class="hljs-string">"begin"</span>

   <span class="hljs-keyword">Dim</span> tab

   <span class="hljs-keyword">For</span> <span class="hljs-keyword">Each</span> tab <span class="hljs-keyword">In</span> mdl.tables

      ShowTable tab,sheet

   <span class="hljs-keyword">Next</span>

   <span class="hljs-keyword">if</span> mdl.tables.count > <span class="hljs-number">0</span> <span class="hljs-keyword">then</span>

        sheet.Range(<span class="hljs-string">"A"</span> & beginrow + <span class="hljs-number">1</span> & <span class="hljs-string">":A"</span> & rowsNum).Rows.<span class="hljs-keyword">Group</span>

   <span class="hljs-keyword">end</span> <span class="hljs-keyword">if</span>

   output <span class="hljs-string">"end"</span>

<span class="hljs-keyword">End</span> <span class="hljs-keyword">Sub</span>

<span class="hljs-comment">'-----------------------------------------------------------------------------</span>

<span class="hljs-comment">' Show table properties</span>

<span class="hljs-comment">'-----------------------------------------------------------------------------</span>

<span class="hljs-keyword">Sub</span> ShowTable(tab, sheet)

   <span class="hljs-keyword">If</span> IsObject(tab) <span class="hljs-keyword">Then</span>

     <span class="hljs-keyword">Dim</span> rangFlag

     rowsNum = rowsNum + <span class="hljs-number">1</span>

      <span class="hljs-comment">' Show properties</span>

      Output <span class="hljs-string">"================================"</span>

      sheet.cells(rowsNum, <span class="hljs-number">1</span>) = <span class="hljs-string">"表名"</span>
      sheet.cells(rowsNum, <span class="hljs-number">2</span>) =tab.name

      sheet.Range(sheet.cells(rowsNum, <span class="hljs-number">2</span>),sheet.cells(rowsNum, <span class="hljs-number">3</span>)).Merge

      rowsNum = rowsNum + <span class="hljs-number">1</span>

      sheet.cells(rowsNum, <span class="hljs-number">1</span>) = <span class="hljs-string">"属性名"</span>

      sheet.cells(rowsNum, <span class="hljs-number">2</span>) = <span class="hljs-string">"说明"</span>

      sheet.cells(rowsNum, <span class="hljs-number">3</span>) = <span class="hljs-string">"字段类型"</span>

      <span class="hljs-comment">'设置边框</span>

      sheet.Range(sheet.cells(rowsNum-<span class="hljs-number">1</span>, <span class="hljs-number">1</span>),sheet.cells(rowsNum, <span class="hljs-number">3</span>)).Borders.LineStyle = <span class="hljs-string">"1"</span>

<span class="hljs-keyword">Dim</span> col <span class="hljs-comment">' running column</span>

<span class="hljs-keyword">Dim</span> colsNum

colsNum = <span class="hljs-number">0</span>

      <span class="hljs-keyword">for</span> <span class="hljs-keyword">each</span> col <span class="hljs-keyword">in</span> tab.columns

        rowsNum = rowsNum + <span class="hljs-number">1</span>

        colsNum = colsNum + <span class="hljs-number">1</span>

      sheet.cells(rowsNum, <span class="hljs-number">1</span>) = col.name

      sheet.cells(rowsNum, <span class="hljs-number">2</span>) = col.comment

      sheet.cells(rowsNum, <span class="hljs-number">3</span>) = col.datatype

      <span class="hljs-keyword">next</span>

      sheet.Range(sheet.cells(rowsNum-colsNum+<span class="hljs-number">1</span>,<span class="hljs-number">1</span>),sheet.cells(rowsNum,<span class="hljs-number">3</span>)).Borders.LineStyle = <span class="hljs-string">"1"</span> 

      rowsNum = rowsNum + <span class="hljs-number">1</span>

      Output <span class="hljs-string">"FullDescription: "</span>       + tab.Name

   <span class="hljs-keyword">End</span> <span class="hljs-keyword">If</span>

<span class="hljs-keyword">End</span> <span class="hljs-keyword">Sub</span>
</code>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn