PowerDesigner导入Excel模板生成数据表

2024-06-09 07:52

本文主要是介绍PowerDesigner导入Excel模板生成数据表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PowerDesigner导入Excel模板生成数据表

1.准备好需要导入的Excel表结构数据,模板内容如下图所示

在这里插入图片描述

2.打开PowerDesigner,新建一个physical data model文件,填入文件名称,选择数据库类型

在这里插入图片描述

3.点击Tools|Execute Commands|Edit/Run Script菜单或按下快捷键Ctrl + Shift + X打开脚本窗口,输入示例VBScript脚本,修改其中的Excel模板路径及工作薄页签,点Run按钮执行即可

在这里插入图片描述

4.VBScript脚本

'******************************************************************************  
'* 所有的表设计都放在一个excel的一个sheet中,每个表中间空一行,表体都有表头说明如下,  
'* 再前面一行是表名和表的说明,分别在A和C列。下面格式直接拷贝到excel中就可以看到,空格是制表符。  
'******************************************************************************    
'                             Excel 格式如下 
'表/字段中文名	表/字段代码			表/字段注释		字段类型		是否主键	是否非空
'班级学生信息表	CLASS_INFO_TABLE	班级学生信息表			
'主键			ID					主键			varchar2(64)	是			是
'姓名			NAME				姓名			varchar2(255)	否			否
'年龄			AGE					年龄			varchar2(64)	否			否
'性别			SEX					性别			varchar2(64)	否			否
'班级名称		CLASS_NAME			班级名称			varchar2(64)	否			否
'学号			NO					学号			varchar2(64)	否			否
'分数			sorce				考试成绩			NUMBER(8,2)		否			否'******************************************************************************    
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:\my_study\示例文件\pdm导入Excle文件.xlsx"  '指定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  
dim abc  on error Resume Next  
'--------------------------------  
'下面是读取excel,添加表实体属性  
'--------------------------------  
For rwIndex = 2 To 1000  '指定要遍历的Excel行标  第一行是表头,非表字段信息部分,不读取,所以从第2行开始,表结构有多少行就读取多少行With x1.Workbooks(1).Worksheets("Sheet1")'需要循环的sheet名称  If .Cells(rwIndex, 1).Value = "" Then                            Exit For             End If If .Cells(rwIndex,4).Value = "" And  .Cells(rwIndex,5).Value = ""  Then  set table = mdl.Tables.CreateNew '创建一个表实体  table.Code = .Cells(rwIndex,2).Value'从excel中取得表名称和编码  table.Name = .Cells(rwIndex,1).Value'table.Comment = .Cells(rwIndex,3).Valuecount = count + 1  End If If .Cells(rwIndex,4).Value <>"" Thenset col =table.Columns.CreateNew '创建一列/字段  col.Name = .Cells(rwIndex, 1).Value '指定列name  col.Code = .Cells(rwIndex, 2).Value '指定列code  col.Comment =  .Cells(rwIndex, 3).Value '指定列说明 col.DataType = .Cells(rwIndex, 4).Value '指定列数据类型 			If .Cells(rwIndex, 5).Value = "true" or .Cells(rwIndex, 5).Value = "是" or .Cells(rwIndex, 5).Value = "True" Then'指定主键  col.Primary = true  End If       If .Cells(rwIndex, 6).Value = "true" or .Cells(rwIndex, 6).Value = "是" or .Cells(rwIndex, 6).Value = "True" Then'指定列是否可空 true 为不可空  col.Mandatory = true  End If End If  End With  
Next  MsgBox "生成数据表结构共计 " + CStr(count), vbOK + vbInformation, "表"  
Exit Sub  
End sub

[2024-06-08]

这篇关于PowerDesigner导入Excel模板生成数据表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1044594

相关文章

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

使用Python在Excel中插入、修改、提取和删除超链接

《使用Python在Excel中插入、修改、提取和删除超链接》超链接是Excel中的常用功能,通过点击超链接可以快速跳转到外部网站、本地文件或工作表中的特定单元格,有效提升数据访问的效率和用户体验,这... 目录引言使用工具python在Excel中插入超链接Python修改Excel中的超链接Python

如何利用Python实现给Excel表格截图

《如何利用Python实现给Excel表格截图》这篇文章主要为大家详细介绍了如何利用Python实现给Excel表格截图功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 我搜索了网络上的方案,感觉把 Excel 表格转换为 html 再用 platwright 截图是比China编程较顺

Java导出Excel动态表头的示例详解

《Java导出Excel动态表头的示例详解》这篇文章主要为大家详细介绍了Java导出Excel动态表头的相关知识,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录前言一、效果展示二、代码实现1.固定头实体类2.动态头实现3.导出动态头前言本文只记录大致思路以及做法,代码不进

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

使用Python合并 Excel单元格指定行列或单元格范围

《使用Python合并Excel单元格指定行列或单元格范围》合并Excel单元格是Excel数据处理和表格设计中的一项常用操作,本文将介绍如何通过Python合并Excel中的指定行列或单... 目录python Excel库安装Python合并Excel 中的指定行Python合并Excel 中的指定列P