导出mysql excel数据字典_mysql导出 Excel数据字典(全)
解決問題(有mysql數(shù)據(jù)庫(kù)數(shù)據(jù)表想要將表導(dǎo)入到PowerDesigner 或?qū)С鯡xcel數(shù)據(jù)字典)
一、下載工具
1、工具PowerDesigner 百度自行下載安裝
2、mysql-connector-odbc 下載鏈接: https://pan.baidu.com/s/1cjb73f3GvkkMFAzZKi85xA 提取碼: u5ih
二、mysql數(shù)據(jù)庫(kù)數(shù)據(jù)表想要將表導(dǎo)入到PowerDesigner
1、創(chuàng)建一個(gè)新的PowerDesigner
(一)創(chuàng)建逆向工程
(二)選擇數(shù)據(jù)庫(kù)類型我們這里是mysql
(三)連接我們的數(shù)據(jù)庫(kù) 點(diǎn)擊連接按鈕
(四)點(diǎn)擊配置
(五)點(diǎn)擊新增一個(gè)數(shù)據(jù)連接 點(diǎn)擊確定
(六)選擇用戶數(shù)據(jù)源 下一步
(七)選擇mysql 下一步
(八)點(diǎn)擊完成
(九)填寫用戶名密碼 第一項(xiàng)創(chuàng)建數(shù)據(jù)源名稱,第二項(xiàng)創(chuàng)建數(shù)據(jù)源描述,第三項(xiàng)創(chuàng)建數(shù)據(jù)源的IP地址 端口號(hào),第四項(xiàng)名稱,第五項(xiàng)密碼,
最后一項(xiàng)想要導(dǎo)的數(shù)據(jù)庫(kù)這里可以不選 點(diǎn)擊Test成功后點(diǎn)擊ok 就會(huì)出現(xiàn)一個(gè)剛創(chuàng)建的數(shù)據(jù)源點(diǎn)擊確定
(十)選擇剛剛創(chuàng)建的數(shù)據(jù)源 連接確定
(十一)選擇要導(dǎo)的庫(kù)(如要導(dǎo)出所有表可滑到最上面可選擇All users)點(diǎn)擊ok再點(diǎn)擊ok
(十二)mysql數(shù)據(jù)庫(kù)數(shù)據(jù)表想要將表導(dǎo)入到PowerDesigner(完成)
三、導(dǎo)出Excel數(shù)據(jù)字典
1、選中想要導(dǎo)出Excel數(shù)據(jù)字典的表 按ctrl + shift +x 然后運(yùn)行腳本 大功告成
'******************************************************************************
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
'創(chuàng)建EXCEL APP
dim beginrow
DIM EXCEL, SHEET, SHEETLIST
set EXCEL= CREATEOBJECT("Excel.Application")
EXCEL.workbooks.add(-4167)'添加工作表
EXCEL.workbooks(1).sheets(1).name ="表結(jié)構(gòu)"set SHEET= EXCEL.workbooks(1).sheets("表結(jié)構(gòu)")
EXCEL.workbooks(1).sheets.add
EXCEL.workbooks(1).sheets(1).name ="目錄"set SHEETLIST= EXCEL.workbooks(1).sheets("目錄")
ShowTableList Model,SHEETLIST
ShowProperties Model, SHEET,SHEETLIST
EXCEL.workbooks(1).Sheets(2).Select
EXCEL.visible= true
'設(shè)置列寬和自動(dòng)換行
sheet.Columns(1).ColumnWidth = 20sheet.Columns(2).ColumnWidth = 20sheet.Columns(3).ColumnWidth = 20sheet.Columns(4).ColumnWidth = 40sheet.Columns(5).ColumnWidth = 10sheet.Columns(6).ColumnWidth = 10sheet.Columns(1).WrapText =truesheet.Columns(2).WrapText =truesheet.Columns(4).WrapText =true
'不顯示網(wǎng)格線
EXCEL.ActiveWindow.DisplayGridlines =False
End If'-----------------------------------------------------------------------------' Show properties of tables'-----------------------------------------------------------------------------
Sub ShowProperties(mdl, sheet,SheetList)' Show tables of the current model/package
rowsNum=0beginrow= rowsNum+1Dim rowIndex
rowIndex=3
' For each table
output "begin"Dim tab
For Each tab In mdl.tables
ShowTable tab,sheet,rowIndex,sheetList
rowIndex= rowIndex +1Nextif mdl.tables.count > 0then
sheet.Range("A" & beginrow + 1 & ":A" &rowsNum).Rows.Group
endifoutput"end"End Sub'-----------------------------------------------------------------------------' Show table properties'-----------------------------------------------------------------------------
Sub ShowTable(tab, sheet,rowIndex,sheetList)
If IsObject(tab) Then
Dim rangFlag
rowsNum= rowsNum + 1
' Show properties
Output "================================"sheet.cells(rowsNum,1) =tab.name
sheet.cells(rowsNum,1).HorizontalAlignment=3sheet.cells(rowsNum,2) =tab.code'sheet.cells(rowsNum, 5).HorizontalAlignment=3
'sheet.cells(rowsNum, 6) = ""
'sheet.cells(rowsNum, 7) = "表說明"
sheet.cells(rowsNum, 3) =tab.comment'sheet.cells(rowsNum, 8).HorizontalAlignment=3
sheet.Range(sheet.cells(rowsNum, 3),sheet.cells(rowsNum, 7)).Merge'設(shè)置超鏈接,從目錄點(diǎn)擊表名去查看表結(jié)構(gòu)
'字段中文名 字段英文名 字段類型 注釋 是否主鍵 是否非空 默認(rèn)值
sheetList.Hyperlinks.Add sheetList.cells(rowIndex,2), "","表結(jié)構(gòu)"&"!B"&rowsNum
rowsNum= rowsNum + 1sheet.cells(rowsNum,1) = "字段中文名"sheet.cells(rowsNum,2) = "字段英文名"sheet.cells(rowsNum,3) = "字段類型"sheet.cells(rowsNum,4) = "注釋"sheet.cells(rowsNum,5) = "是否主鍵"sheet.cells(rowsNum,6) = "是否非空"sheet.cells(rowsNum,7) = "默認(rèn)值"
'設(shè)置邊框
sheet.Range(sheet.cells(rowsNum-1, 1),sheet.cells(rowsNum, 7)).Borders.LineStyle = "1"
'sheet.Range(sheet.cells(rowsNum-1, 4),sheet.cells(rowsNum, 9)).Borders.LineStyle = "1"
'字體為10號(hào)
sheet.Range(sheet.cells(rowsNum-1, 1),sheet.cells(rowsNum, 7)).Font.Size=10Dim col' running column
Dim colsNum
colsNum= 0
foreach col in tab.columns
rowsNum= rowsNum + 1colsNum= colsNum + 1sheet.cells(rowsNum,1) =col.name'sheet.cells(rowsNum, 3) = ""
'sheet.cells(rowsNum, 4) = col.name
sheet.cells(rowsNum, 2) =col.code
sheet.cells(rowsNum,3) =col.datatype
sheet.cells(rowsNum,4) =col.comment
If col.Primary= trueThen
sheet.cells(rowsNum,5) = "Y"Else
sheet.cells(rowsNum,5) = " "End If
If col.Mandatory= trueThen
sheet.cells(rowsNum,6) = "Y"Else
sheet.cells(rowsNum,6) = " "End If
sheet.cells(rowsNum,7) =col.defaultvalue
next
sheet.Range(sheet.cells(rowsNum-colsNum+1,1),sheet.cells(rowsNum,7)).Borders.LineStyle = "3"
'sheet.Range(sheet.cells(rowsNum-colsNum+1,4),sheet.cells(rowsNum,9)).Borders.LineStyle = "3"
sheet.Range(sheet.cells(rowsNum-colsNum+1,1),sheet.cells(rowsNum,7)).Font.Size = 10rowsNum= rowsNum + 2Output"FullDescription: " +tab.Name
End If
End Sub'-----------------------------------------------------------------------------' Show List Of Table'-----------------------------------------------------------------------------
Sub ShowTableList(mdl, SheetList)' Show tables of the current model/package
Dim rowsNo
rowsNo=1
' For each table
output "begin"SheetList.cells(rowsNo,1) = "主題"SheetList.cells(rowsNo,2) = "表中文名"SheetList.cells(rowsNo,3) = "表英文名"SheetList.cells(rowsNo,4) = "表說明"rowsNo= rowsNo + 1SheetList.cells(rowsNo,1) =mdl.name
Dim tab
For Each tab In mdl.tables
If IsObject(tab) Then
rowsNo= rowsNo + 1SheetList.cells(rowsNo,1) = ""SheetList.cells(rowsNo,2) =tab.name
SheetList.cells(rowsNo,3) =tab.code
SheetList.cells(rowsNo,4) =tab.comment
End If
Next
SheetList.Columns(1).ColumnWidth = 20SheetList.Columns(2).ColumnWidth = 20SheetList.Columns(3).ColumnWidth = 30SheetList.Columns(4).ColumnWidth = 60output"end"End Sub
總結(jié)
以上是生活随笔為你收集整理的导出mysql excel数据字典_mysql导出 Excel数据字典(全)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京环球影城学生门票价格
- 下一篇: mysql yintint类型_MySQ