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

相关文章

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

Java实现TXT文件导入功能的详细步骤

《Java实现TXT文件导入功能的详细步骤》在实际开发中,很多应用场景需要将用户上传的TXT文件进行解析,并将文件中的数据导入到数据库或其他存储系统中,本文将演示如何用Java实现一个基本的TXT文件... 目录前言1. 项目需求分析2. 示例文件格式3. 实现步骤3.1. 准备数据库(假设使用 mysql

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热