前几天博主写了**《Excel VBA(Visual Basic)编程入门》**的博文,今天讲一个实用小案例。将我们excel定义好的表名和字段名等信息,生成sql建表语句。

一、Excel表结构

二、VBA语句

Public Sub class()Rem 声明字段row的开始行号Const startRow As Integer = 13Rem 声明字段row的结束行号Const endRow As Integer = 28Rem 声明表名Dim tableName  As StringtableName = Range("E" & 6)Rem 声明主键Dim primaryKey  As StringprimaryKey = Range("F" & 13)Rem 声明表名注释Dim tableComment As StringtableComment = Range("E" & 7)Rem 声明字段名对应列 英文序号Dim filedMetaNo As StringfiledMetaNo = "F"Rem 声明字段注释对应对应列 英文序号Dim commentMetaNo As StringcommentMetaNo = "C"Rem 声明字段备注 对应列的 英文序号Dim comment2MetaNo As Stringcomment2MetaNo = "U"Rem 声明类型 对应列的 英文序号Dim typeMetaNo As StringtypeMetaNo = "G"Rem 声明字长 对应的列的英文序号Dim lengthMetaNo As StringlengthMetaNo = "H"Rem 最终要拼接的sqlDim sqlStr As StringsqlStr = "CREATE TABLE " & Range("E" & 6) & Chr(13)sqlStr = sqlStr & "(" & Chr(13)For count = startRow To endRowRem 拼接 字段名sqlStr = sqlStr & Replace(Range(filedMetaNo & count).Text, " ", "")Rem 拼接  字段类型(字段长度)sqlStr = sqlStr & "   " & Range(typeMetaNo & count)If IsEmpty(Range(lengthMetaNo & count)) = False ThensqlStr = sqlStr & "(" & Range(lengthMetaNo & count) & ")  "End IfRem 如果是主键,设置NOT NULL COMMENTIf primaryKey = Range(filedMetaNo & count) ThensqlStr = sqlStr & " NOT NULL COMMENT "ElseRem 拼接  DEFAULT NULL COMMENT  '字段名称注释(字段备注)'sqlStr = sqlStr & " DEFAULT NULL COMMENT "End IfsqlStr = sqlStr & "'" & Range(commentMetaNo & count)If IsEmpty(Range(comment2MetaNo & count)) = False ThensqlStr = sqlStr & "(" & Range(comment2MetaNo & count) & ")"End IfsqlStr = sqlStr & "'"sqlStr = sqlStr & "," & Chr(13)NextsqlStr = sqlStr & "PRIMARY KEY (" & primaryKey & ")" & Chr(13)sqlStr = sqlStr & ")ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='" & tableComment & "'" & Chr(13)Debug.Print sqlStrEnd Sub

注意:通常的时候,excel保存不了,关闭excel直接没了,另存为xlsm格式就可以了。

Excel VBA生成SQL建表语句相关推荐

  1. Excel自动生成sql建表语句

    ETL开发中重新整理很多表结构,写建表语句又是一件头疼的事情,干脆借鉴网友的代码,自己写了一个自动生成建表sql的模板. 模板下载:http://download.csdn.net/detail/en ...

  2. python读取excel生成mysql建表语句_python读取excel文件并自动在mysql中建表导数据

    """ 根据excel在mysql中建表(表名为文件名,字段为csv中的header,默认所有字段为varchar,如需更改,在数据库中更改即可),并插入数据 " ...

  3. SpringBoot自动运行sql建表语句

    1.在Resources下添加建表的sql语句 2.配置文件 application.yml spring:datasource:username: rootpassword: adminurl: j ...

  4. excel数据库设计表转换成sql建表语句

    序号 字段英文 字段中文 主键 类型 长度 单位 空否 默认值 备注 1. ID 自增ID N 11 2. REC_CREATOR 记录创建责任者 C 10 3. REC_CREATE_TIME 记录 ...

  5. 1.python 根据 oracle字段名和类型 生成 hive建表语句

    一.问题 遇到一个场景,要根据oracle表结构创建hive表. 本来想写一个根据oracle信息和表名自动在hive中创建表的脚本.如果在集群运行,python操作oracle的cx_Oracle在 ...

  6. mysql json建表_json数据自动生成MySQL建表语句

    #_*_coding:utf-8_*_ #author: cike #date: 18-9-13 import pymysql.cursors connection = pymysql.connect ...

  7. python脚本实现自动生产sql建表语句

    一.代码效果 废话不多说,先上代码展示效果,然后讲解 1.1代码 import pandas as pd data = pd.read_excel('D:/示例1.xlsx') data = data ...

  8. 使用java通过固定的excel模板自动生成数据库表的ddl建表语句

    有时候要建很多表或一个表有很多字段,一个个复制字段弄太麻烦了,为了提高点工作效率,写了个小工具通过固定的excel模板自动生成基础的ddl建表语句 maven依赖 <!--核心jar包--> ...

  9. PowerDesigner生成数据库建表sql脚本

    PowerDesigner生成数据库建表sql脚本 一.生成sql server 2000或oracle建表sql脚本 1.新建一个物理模型,通过database菜单下的change current ...

  10. tp5循环查询语句_如何用Excel快速生成SQL语句,用过的人都说好

    Excel的公式自动生成想必大家都知道了,就是写好一个公式后直接往下拖,就可以将后面数据的公式自动生成. 今天我们就用这个功能来快速生成SQL语句. 导入Excel数据 Excel的数据有多种方式,这 ...

最新文章

  1. 数字图像处理:图像就是函数的解读
  2. php一个星期没找到工作怎么办_高校开学推迟,校园招聘遥遥无期,还没找到工作的应届生怎么办?...
  3. js调用ios和安卓方法
  4. 使用 dispatchEvent() 方法
  5. java数据结构之枚举
  6. 计算机网络协议(一)
  7. xshell常用的命令
  8. 对lIKE语句的优化
  9. 160826、浏览器渲染页面过程描述,DOM编程技巧以及重排和重绘
  10. 【算法】java 用 数组 模拟 队列
  11. python双_集成python双版本详解
  12. 默认适应窗口_PS教程基础之cs6默认快捷键汇总及补充
  13. Hyper-V提供创建三种类型的虚拟网络
  14. (原创)一步一步学ZedBoard Zynq(一):ZedBoard的第一个工程Helloworld
  15. 电梯实时智能监测与诊断:应用人工智能的案例研究和解决方案
  16. flutter 华为审核:你的应用存在隐藏最近任务列表中应用名称的问题,不符合华为应用市场审核标准
  17. html标签 lt heavy gt,HTML Purifier:转换&lt; body&gt;到&lt; div&gt;
  18. 工作态度决定了你的层次
  19. python dataframe删除重复行_2.3.10 DataFrame 查看删除重复项
  20. 下载了突袭:资源战争

热门文章

  1. SmartSVN使用
  2. 仿今日头条项目——个人中心
  3. 教你记录借还款,查看收支账户记录
  4. java分布式框架_5个强大的Java分布式缓存框架推荐
  5. 【转】在线翻译、词典、离线工具大全
  6. jquery div点击展开,点击收起,点击除了该div外任何地方,该div隐藏
  7. wx2540h配置教程_H3C WX2540H系列无线控制器 安装指导-6W101
  8. App后台开发架构实践
  9. java web后台开发跟手机APP后台开发有什么不同? 二者怎么通信?
  10. 京东html,京东HTML静态模板页面全套