通常在开发项目的时候,会先生成数据字段的Excel表,然后在MySQL中创建对应的数据表,字段少的时候还不是很麻烦,但是遇到字段特别多的表时,手写SQL效率会非常低下,像Navicat等图形化工具支持从Excle导入,但是操作繁琐而且容易出错,这时候就需要一些工具来帮我们生成数据表了。
需求
从一个数据库设计的Excel表生成MySQL数据表,假设现在有一个设计好的Excel表结构,像下面这样,需要用它来生成数据表。
名称
字段名
类型
长度
ID
id
int
11
姓名
name
varchar
10
年龄
age
int
3
生日
birthday
date
实现
这里实现的时候使用到了Apache POI这个库,POI编写了非常多实用的API,它可以使用Java读取、创建和修改MS Excel文件,官方文档:POI
实现的思路是,利用POI,可以非常方便的解析上面的Excel表,读取里面的字段值,注释,类型和长度等,再拼接成SQL,利用JDBC执行,就可以生成数据表结构了。
代码如下(JDK8):
1
2
3
4
5
6
7
8
9
10</