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 閱讀(2735) 評論(3)  編輯  收藏 所屬分類: oralce-為什么這么強大

          Feedback

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

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

          主站蜘蛛池模板: 德庆县| 金乡县| 桐柏县| 进贤县| 婺源县| 新沂市| 周宁县| 扎赉特旗| 白城市| 开化县| 凤冈县| 通辽市| 洛川县| 新邵县| 阿图什市| 荣昌县| 兴海县| 榆树市| 慈溪市| 达拉特旗| 霍山县| 庐江县| 汽车| 中卫市| 黑龙江省| 桐柏县| 巴彦县| 腾冲县| 保康县| 揭西县| 朔州市| 阆中市| 南陵县| 新竹市| 灵宝市| 永宁县| 桦川县| 上饶市| 台北县| 通道| 哈尔滨市|