在PD中导入Excel自动生成表结构

有Excel的数据表结构,但是没有数据库实例,所有没有办法用PowerDesigner的反转功能。
300多张表,8000多个字段,而且数据表中的表名及字段名用中文代码缩写,想着都晕。
不过它内置的脚本功能确实不错,根据自带的脚本,写了一个实现从Excel读取表结构,包括Name、Code、DataType、Comments等。
None.gif Option   Explicit
None.gif
None.gif
Dim  mdl  '  the current model
None.gif
Set  mdl  =  ActiveModel
None.gif
If  (mdl  Is   Nothing Then
None.gif   
MsgBox   " There is no Active Model"
None.gif
End   If
None.gif
None.gif
Dim  HaveExcel
None.gif
Dim  RQ
None.gifRQ 
=  vbYes  ' MsgBox("Is Excel Installed on your machine ?", vbYesNo + vbInformation, "Confirmation")
None.gif
If  RQ  =  vbYes  Then
None.gif   HaveExcel 
=   True
None.gif   
'  Open & Create Excel Document
None.gif
    Dim  x1   '
None.gif
    Set  x1  =   CreateObject ( " Excel.Application " )
None.gif   x1.Workbooks.Open 
" E:\数据库结构.xls"
None.gif
   x1.Workbooks( 1 ).Worksheets( " Sheet1 " ).Activate
None.gif
Else
None.gif   HaveExcel 
=   False
None.gif
End   If
None.gif
None.gifa x1, mdl
None.gif
None.gif
sub  a(x1, mdl)
None.gif
dim  rwIndex
None.gif
dim  tableName
None.gif
dim  colname
None.gif
dim  table
None.gif
dim  col
None.gif
dim  count
None.gif
None.gif
on   error   Resume   Next
None.gif
For  rwIndex  =   2016   To   2015
None.gif        
With  x1.Workbooks( 1 ).Worksheets( " Sheet1 " )
None.gif            
If  .Cells(rwIndex,  1 ).Value  =   ""   Then
None.gif               
Exit   For
None.gif            
End   If
None.gif            
If  .Cells(rwIndex,  3 ).Value  =   ""   Then
None.gif               
set  table  =  mdl.Tables.CreateNew
None.gif               table.Name 
=  .Cells(rwIndex  +   1 10 ).Value
None.gif               table.Code 
=  .Cells(rwIndex  +   1 9 ).Value
None.gif               count 
=  count  +   1
None.gif            
Else
None.gif               colName 
=  .Cells(rwIndex,  1 ).Value
None.gif               
set  col  =  table.Columns.CreateNew
None.gif               
' MsgBox .Cells(rwIndex, 1).Value, vbOK + vbInformation, "列"
None.gif
               col.Name  =  .Cells(rwIndex,  1 ).Value
None.gif               
' MsgBox col.Name, vbOK + vbInformation, "列"
None.gif
               col.Code  =  .Cells(rwIndex,  3 ).Value
None.gif               
None.gif               
if  .Cells(rwIndex,  7 ).Value  <>   ""   Then
None.gif                  col.Comment 
=   " 单位: "   +  .Cells(rwIndex,  7 ).Value  +   "  。   "   +  .Cells(rwIndex,  8 ).Value
None.gif               
else
None.gif                  col.Comment 
=  .Cells(rwIndex,  8 ).Value
None.gif               
end   if
None.gif               
None.gif               
if  .Cells(rwIndex,  2 ).Value  =   " Y "   Then
None.gif                  col.Primary 
=   true
None.gif               
end   if
None.gif               
If  .Cells(rwIndex,  4 ).Value  =   " C "   Then
None.gif                  col.DataType 
=   " NVARCHAR2( "   +  .Cells(rwIndex,  5 ).Value  +   " )"
None.gif
                elseif  .Cells(rwIndex,  4 ).Value  =   " D "   Then
None.gif                  col.DataType 
=   " DATE"
None.gif
                elseif  .Cells(rwIndex,  4 ).Value  =   " N "   Then
None.gif                  
if  .Cells(rwIndex,  6 ).Value  =   ""   Then
None.gif                     col.DataType 
=   " NUMBER( "   +  .Cells(rwIndex,  5 ).Value  +   " )"
None.gif
                   else
None.gif                     col.DataType 
=   " NUMBER( "   +  .Cells(rwIndex,  5 ).Value  +   " "   +  .Cells(rwIndex,  6 ).Value  +   " )"
None.gif
                   end   if
None.gif               
end   if
None.gif            
End   If
None.gif        
End   With
None.gif
Next
None.gif
MsgBox   " 生成数据表结构共计  "   +   CStr (count), vbOK  +  vbInformation,  " 表"
None.gif

None.gif
Exit   Sub
None.gif
End sub

posted on 2005-09-08 11:21  loli 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/xhluo/archive/2005/09/08/232336.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用 Pandas 库的 read_excel() 函数将 Excel 文件导入为 DataFrame 结构。以下是一个示例代码: ```python import pandas as pd # 读取 Excel 文件并存储为 DataFrame df = pd.read_excel('文件路径.xlsx') # 打印 DataFrame 结构 print(df) ``` 在上面的代码,将文件路径参数替换为您的文件路径。这将读取 Excel 文件并将其作为 DataFrame 存储在变量 df 。最后,通过打印 df 可以查看 DataFrame 结构。 ### 回答2: 要将Excel导入为Dataframe结构,可以使用Python的pandas库来进行操作。 首先,需要确保已经安装了pandas库。可以使用以下命令进行安装: ``` pip install pandas ``` 接下来,导入pandas库: ```python import pandas as pd ``` 然后,使用pandas的read_excel()函数来读取Excel文件并将其转换为Dataframe结构。可以使用以下代码进行操作: ```python dataframe = pd.read_excel('文件路径/文件名.xlsx') ``` 其,'文件路径/文件名.xlsx'是Excel文件的路径和文件名。如果文件与代码在同一文件夹,则只需要提供文件名即可。 读取Excel文件后,数据将以格的形式存储在Dataframe。可以通过print()函数来查看Dataframe的内容: ```python print(dataframe) ``` 另外,可以使用pandas提供的许多函数和方法来处理和分析Dataframe的数据,例如过滤、排序、计算统计指标等。 总结一下,将Excel导入为Dataframe结构的步骤如下: 1. 安装pandas库(如果尚未安装)。 2. 导入pandas库。 3. 使用read_excel()函数读取Excel文件并转换为Dataframe。 4. 可选:通过print()函数查看Dataframe的内容。 5. 使用pandas提供的功能进行数据处理和分析。 希望以上回答对您有所帮助! ### 回答3: 要将Excel导入为DataFrame结构,可以使用Python的pandas库来实现。 首先需要安装pandas库,可以使用pip命令安装: ``` pip install pandas ``` 导入pandas库: ``` import pandas as pd ``` 使用pandas的`read_excel()`函数来读取Excel文件: ``` df = pd.read_excel('文件路径/文件名.xlsx') ``` 其,'文件路径/文件名.xlsx'指的是Excel文件的路径和文件名。如果该文件和Python脚本在同一目录下,只需要写文件名即可。 读取文件后,数据将被存储在一个DataFrame对象,可以根据需要对其进行操作和分析。 如果Excel文件有多个工作,可以使用`sheet_name`参数指定要读取的工作的名称或索引号。例如,要读取第一个工作,可以使用以下代码: ``` df = pd.read_excel('文件路径/文件名.xlsx', sheet_name=0) ``` 默认情况下,读取的数据将存储在DataFrame对象,行和列的索引将自动生成。如果需要指定特定的行或列作为索引,可以使用`index_col`和`header`参数。 以上就是将Excel导入为DataFrame结构的基本步骤。根据实际情况和需求,可以进一步进行数据处理和操作,如数据清洗、筛选、分析等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值