无为建设局网站,手机wordpress查看加密文章,低多边形网站,网站功能需求怎么写适合先有数据库结构#xff0c;后需要导出数据字典的情况#xff0c;多数在发开完成交文档或者用户有库的情况下 有条件的话推荐用powerdesigner导出#xff0c;比较好看 如果用powerdesigner导出的注释不对#xff0c;是因为数据库的编码不对
1、使用navicat导出
在该数…适合先有数据库结构后需要导出数据字典的情况多数在发开完成交文档或者用户有库的情况下 有条件的话推荐用powerdesigner导出比较好看 如果用powerdesigner导出的注释不对是因为数据库的编码不对
1、使用navicat导出
在该数据库下新建一个查询输入下面的语句
SELECTTABLE_NAME 表名称,COLUMN_NAME 列名称,COLUMN_DEFAULT 默认值,IS_NULLABLE 是否为null,COLUMN_TYPE 数据类型,COLUMN_KEY 索引,EXTRA 其他属性,COLUMN_COMMENT 注释
FROMinformation_schema.COLUMNS
WHERETABLE_SCHEMA 数据库名查询结果如下 导出结果到本机电脑里 修改一下名字后保存 然后再按照自己想要的格式进行调整或者粘到word 其他的可选字段及注释 2、使用 powerdesigner 导出数据字典
连接数据库方式在此不赘述了只谈导出 打开菜单ToolsExecute CommandsEdit/Run Script… 或者用快捷键 CtrlShiftX复制下列代码粘贴
******************************************************************************
Option ExplicitDim rowsNumrowsNum 0
-----------------------------------------------------------------------------Main function
-----------------------------------------------------------------------------Get the current active modelDim ModelSet Model ActiveModelIf (Model Is Nothing) Or (Not Model.IsKindOf(PdPDM.cls_Model)) ThenMsgBox The current model is not an PDM model.Else Get the tables collection创建EXCEL APPdim beginrowDIM EXCEL, SHEET, SHEETLISTset EXCEL CREATEOBJECT(Excel.Application)EXCEL.workbooks.add(-4167)添加工作表EXCEL.workbooks(1).sheets(1).name 表结构set SHEET EXCEL.workbooks(1).sheets(表结构)EXCEL.workbooks(1).sheets.addEXCEL.workbooks(1).sheets(1).name 目录set SHEETLIST EXCEL.workbooks(1).sheets(目录)ShowTableList Model,SHEETLISTShowProperties Model, SHEET,SHEETLISTEXCEL.workbooks(1).Sheets(2).SelectEXCEL.visible true设置列宽和自动换行sheet.Columns(1).ColumnWidth 20 sheet.Columns(2).ColumnWidth 20 sheet.Columns(3).ColumnWidth 20 sheet.Columns(4).ColumnWidth 40 sheet.Columns(5).ColumnWidth 10 sheet.Columns(6).ColumnWidth 10 sheet.Columns(1).WrapText truesheet.Columns(2).WrapText truesheet.Columns(4).WrapText true不显示网格线EXCEL.ActiveWindow.DisplayGridlines FalseEnd If
-----------------------------------------------------------------------------Show properties of tables
-----------------------------------------------------------------------------
Sub ShowProperties(mdl, sheet,SheetList) Show tables of the current model/packagerowsNum0beginrow rowsNum1Dim rowIndex rowIndex3 For each tableoutput beginDim tabFor Each tab In mdl.tablesShowTable tab,sheet,rowIndex,sheetListrowIndex rowIndex 1Nextif mdl.tables.count 0 thensheet.Range(A beginrow 1 :A rowsNum).Rows.Groupend ifoutput end
End Sub
-----------------------------------------------------------------------------Show table properties
-----------------------------------------------------------------------------
Sub ShowTable(tab, sheet,rowIndex,sheetList)If IsObject(tab) ThenDim rangFlagrowsNum rowsNum 1 Show propertiesOutput sheet.cells(rowsNum, 1) tab.namesheet.cells(rowsNum, 1).HorizontalAlignment3sheet.cells(rowsNum, 2) tab.codesheet.cells(rowsNum, 5).HorizontalAlignment3sheet.cells(rowsNum, 6) sheet.cells(rowsNum, 7) 表说明sheet.cells(rowsNum, 3) tab.commentsheet.cells(rowsNum, 8).HorizontalAlignment3sheet.Range(sheet.cells(rowsNum, 3),sheet.cells(rowsNum, 7)).Merge设置超链接从目录点击表名去查看表结构字段中文名 字段英文名 字段类型 注释 是否主键 是否非空 默认值sheetList.Hyperlinks.Add sheetList.cells(rowIndex,2), ,表结构!BrowsNumrowsNum 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) 默认值设置边框sheet.Range(sheet.cells(rowsNum-1, 1),sheet.cells(rowsNum, 7)).Borders.LineStyle 1sheet.Range(sheet.cells(rowsNum-1, 4),sheet.cells(rowsNum, 9)).Borders.LineStyle 1字体为10号sheet.Range(sheet.cells(rowsNum-1, 1),sheet.cells(rowsNum, 7)).Font.Size10Dim col running columnDim colsNumcolsNum 0for each col in tab.columnsrowsNum rowsNum 1colsNum colsNum 1sheet.cells(rowsNum, 1) col.namesheet.cells(rowsNum, 3) sheet.cells(rowsNum, 4) col.namesheet.cells(rowsNum, 2) col.codesheet.cells(rowsNum, 3) col.datatypesheet.cells(rowsNum, 4) col.commentIf col.Primary true Thensheet.cells(rowsNum, 5) Y Elsesheet.cells(rowsNum, 5) End IfIf col.Mandatory true Thensheet.cells(rowsNum, 6) Y Elsesheet.cells(rowsNum, 6) End Ifsheet.cells(rowsNum, 7) col.defaultvaluenextsheet.Range(sheet.cells(rowsNum-colsNum1,1),sheet.cells(rowsNum,7)).Borders.LineStyle 3 sheet.Range(sheet.cells(rowsNum-colsNum1,4),sheet.cells(rowsNum,9)).Borders.LineStyle 3sheet.Range(sheet.cells(rowsNum-colsNum1,1),sheet.cells(rowsNum,7)).Font.Size 10rowsNum rowsNum 2Output FullDescription: tab.NameEnd IfEnd Sub
-----------------------------------------------------------------------------Show List Of Table
-----------------------------------------------------------------------------
Sub ShowTableList(mdl, SheetList) Show tables of the current model/packageDim rowsNorowsNo1 For each tableoutput beginSheetList.cells(rowsNo, 1) 主题SheetList.cells(rowsNo, 2) 表中文名SheetList.cells(rowsNo, 3) 表英文名SheetList.cells(rowsNo, 4) 表说明rowsNo rowsNo 1SheetList.cells(rowsNo, 1) mdl.nameDim tabFor Each tab In mdl.tablesIf IsObject(tab) ThenrowsNo rowsNo 1SheetList.cells(rowsNo, 1) SheetList.cells(rowsNo, 2) tab.nameSheetList.cells(rowsNo, 3) tab.codeSheetList.cells(rowsNo, 4) tab.commentEnd IfNextSheetList.Columns(1).ColumnWidth 20 SheetList.Columns(2).ColumnWidth 20 SheetList.Columns(3).ColumnWidth 30 SheetList.Columns(4).ColumnWidth 60 output end
End Sub
运行完会自动打开Excel powerdesigner导出来的会比上一种方法导出来的好看