ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

          常用鏈接

          留言簿(32)

          我參與的團隊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          這個功能只能用powerdesigner 的腳本功能來實現,使用起來也簡單

          打開powerdesigner,shift + ctrl + X 打開腳本窗口

          輸入執行的腳本,點 run 即可。

          簡單的導入Excel腳本

          '開始
          Option Explicit

          Dim mdl ' the current model
          Set mdl = ActiveModel
          If (mdl Is Nothing) Then
             MsgBox "There is no Active Model"
          End If

          Dim HaveExcel
          Dim RQ
          RQ = vbYes 'MsgBox("Is Excel Installed on your machine ?", vbYesNo + vbInformation, "Confirmation")
          If RQ = vbYes Then
             HaveExcel = True
             ' Open & Create Excel Document
             Dim x1  '
             Set x1 = CreateObject("Excel.Application")
             x1.Workbooks.Open "D:\11.xls"   '指定excel文檔路徑
             x1.Workbooks(1).Worksheets("Sheet1").Activate   '指定要打開的sheet名稱
          Else
             HaveExcel = False
          End If

          a x1, mdl

          sub a(x1, mdl)
          dim rwIndex   
          dim tableName
          dim colname
          dim table
          dim col
          dim count

          on error Resume Next

          set table = mdl.Tables.CreateNew '創建一個表實體
          table.Name = "卡片信息表"    '指定表名,如果在Excel文檔里有,也可以 .Cells(rwIndex, 3).Value 這樣指定
          table.Code = "AM_CARDINFO"  '指定表名
          count = count + 1

          For rwIndex = 2 To 1000   '指定要遍歷的Excel行標  由于第1行是表頭,從第2行開始
                  With x1.Workbooks(1).Worksheets("Sheet1")
                      If .Cells(rwIndex, 1).Value = "" Then
                         Exit For
                      End If

                         set col = table.Columns.CreateNew   '創建一列/字段
                         'MsgBox .Cells(rwIndex, 1).Value, vbOK + vbInformation, "列"
                         If .Cells(rwIndex, 3).Value = "" Then
                            col.Name = .Cells(rwIndex, 1).Value   '指定列名
                         Else 
                            col.Name = .Cells(rwIndex, 3).Value
                         End If
                         'MsgBox col.Name, vbOK + vbInformation, "列"
                         col.Code = .Cells(rwIndex, 1).Value   '指定列名
                         
                         col.DataType = .Cells(rwIndex, 2).Value   '指定列數據類型
                         
                         col.Comment = .Cells(rwIndex, 5).Value  '指定列說明
                         
                         If .Cells(rwIndex, 4).Value = "否" Then
                             col.Mandatory = true        '指定列是否可空  true  為不可空                  
                         End If
                         
                         If rwIndex = 2 Then
                             col.Primary = true    '指定主鍵
                         End If
                  End With
          Next
          MsgBox "生成數據表結構共計 " + CStr(count), vbOK + vbInformation, "表"

          Exit Sub
          End sub


          posted on 2010-12-04 10:45 ivaneeo 閱讀(2737) 評論(3)  編輯  收藏 所屬分類: oralce-為什么這么強大

          Feedback

          # re: powerdesigner 導入Excel文檔 做成 實體表 2010-12-25 16:14 liutianzhong
          對excel表的填寫有何要求沒有?應如何填寫?我轉不成功?  回復  更多評論
            

          # re: powerdesigner 導入Excel文檔 做成 實體表 2012-07-24 10:38 山嶺
          excel格式怎么沒貼出來?  回復  更多評論
            

          主站蜘蛛池模板: 德化县| 永平县| 廊坊市| 建宁县| 盐山县| 鄯善县| 鄂州市| 麻栗坡县| 兰州市| 垫江县| 郯城县| 甘德县| 庐江县| 且末县| 嘉义县| 扎赉特旗| 遂川县| 赫章县| 自贡市| 奎屯市| 台北市| 方山县| 陵川县| 黄龙县| 双牌县| 鄂托克前旗| 龙口市| 兰考县| 孟村| 沂南县| 玛曲县| 平安县| 临猗县| 越西县| 徐水县| 崇义县| 芦山县| 镇原县| 墨江| 庄河市| 天长市|