Heim >Datenbank >MySQL-Tutorial >PowerDesigner生成excel

PowerDesigner生成excel

WBOY
WBOYOriginal
2016-06-07 14:50:231332Durchsuche

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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn