Excel表结构模板生成MySql建表语句
Excel表结构模板
Java 代码
依赖EasyExcel
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.8</version>
</dependency>
@PostMapping("/importExcel")
public String importExcel(@RequestBody MultipartFile file) {
FileOutputStream fos = null;
OutputStreamWriter osw = null;
try {
// 读取文件流
InputStream inputStream = file.getInputStream();
List<ImportExcel> list = EasyExcel.read(inputStream)
.head(ImportExcel.class)
.sheet()
.doReadSync();
StringBuilder sb = new StringBuilder("DROP TABLE IF EXISTS ``;\n" +
"CREATE TABLE `` (\n");
for (int i = 0; i < list.size(); i++) {
// 字段名
sb.append("`").append(list.get(i).getFiledName()).append("` ");
// 字段类型和长度
if (list.get(i).getDataType().contains("CHAR")) {
sb.append(list.get(i).getDataType()).append("(").append(list.get(i).getLength()).append(") ");
sb.append("CHARACTER SET utf8 COLLATE utf8_general_ci ");
} else {
sb.append(list.get(i).getDataType()).append(" ");
}
// 非空与否
if (list.get(i).getNotNull().