赞
踩
提升工作效率:将excel文件数据转为sql,批量生成sql执行脚本
1.适用于此类读取excel数据并加工成sql文件的场景【简单场景易推荐使用工具本身快捷键如idea notepad,vscode sublime工具自带列选】
easyexcel参考:读Excel | Easy Excel
2.maven 引用
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.1</version>
</dependency>
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency>
话不多说看代码
- import com.alibaba.excel.EasyExcel;
- import com.alibaba.excel.annotation.ExcelProperty;
- import lombok.Data;
- import lombok.extern.slf4j.Slf4j;
-
- import java.io.File;
- import java.io.FileWriter;
- import java.util.List;
-
- /**
- * description:
- */
- @Data
- @Slf4j
- public class User {
-
- @ExcelProperty(value = "用户名")
- private String name;
- @ExcelProperty(value = "年龄")
- private int age;
- @ExcelProperty(value = "地址")
- private String address;
-
- public static void main(String[] args) throws Exception {
- List<User> list = EasyExcel.read("C:\\Users\\haoha\\Desktop\\user.xls", User.class, null).doReadAllSync();
- System.out.println(list);
- StringBuilder sb = new StringBuilder();
- for (User user : list) {
- sb.append("insert into user(user_name,age,address)value");
- sb.append("(");
- sb.append("'").append(replaceWord(user.getName())).append("',");
- sb.append("'").append(user.getAge()).append("',");
- sb.append("'").append(replaceWord(user.getAddress())).append("',");
- sb.append(");");
- sb.append("\r\n");
- }
- try (FileWriter writer = new FileWriter(new File("D:\\develop\\xk\\common-module\\src\\main\\java\\com\\bean\\user.sql"));) {
- writer.write(sb.toString());
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- }
- }
-
- public static String replaceWord(String word) {
- if (word == null) {
- return word;
- }
- return word.replace("'", "''");
- }
- }

效果
注意:需要将部分特殊的符号替换,具体看使用的场景
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。