ExcelToDatabase:批量导入Excel到MySQL/Oracle/SQL Server数据库的自动化工具

简介

ExcelToDatabase 是一个可以批量导入excel到mysql/oracle/sql server数据库的自动化工具。自动化是其最大的特点,因为它可以根据excel自动创建表并最终导入数据到数据库而不需要做任何手工设置。批量是它另一个特点,因为可以做到自动化,所以你可以一次性导入成百上千张表而不是一个一个导。

工具特色:

自动:工具可以根据excel自动设置表名、列名、列类型及其长度,最终创建表并导入数据,或者根据excel与数据库的自动匹配追加或者更新数据
批量: 通常你只能用其他工具一个一个手动导入excel到数据库,但是现在,你可以一次性导入成百上千张表
简单: 只需要提供excel文件位置和目标数据库连接信息,工具就能开始工作直到excel全部被导入
快捷:全部导入100张1万行x10列的excel用时不到3分钟,导入10个小文件更是不到1秒钟(办公笔记本测试)
智能:你是否手动导入时经常遇到错误?不要担心!工具可以轻松避免或者自动纠正。
定时: 可以搭配windows计划任务程序,实现定时调度
实时: 当定时设置为0时,即可实现实时数据同步!
安全:工具完全在脱机环境工作,无任何数据上传下载操作。对数据库的操作做到可视、可控和可回滚,不含带不可控的数据操作。

程序下载

  • ExcelToMySQL下载
  • ExcelToOracle下载
  • ExcelToSQLServer下载

使用方法:

1.、点击exe启动程序
2.、选择excel并填入数据库信息
3、选择选项(可选)
4、点击开始

支持环境

  • 操作系统:Windows7+
  • 数据库:MySQL/Oracle/SQL Server
  • Excel:xls/xlsx/xlsm/csv

典型使用场景:

场景一:一键导入excel到数据库
场景二:多个excel文件批量导入到数据库
场景三:合并多个excel文件数据
场景四:定时导入excel到数据库
场景五:实时同步刷新excel数据到数据库

菜单

配置:
可打开,保存,另存和删除界面配置

数据源:
文件: 选择文件作为数据源,单个或者多个被选中的文件将被
文件夹: 选择文件夹作为数据源,文件夹下所有excel都将被导入
导入

选项介绍:

Excel:

选择需要被导入的excel目录或者文件。
选择文件(默认):选择一个或多个excel文件,被选中的文件将被导入
选择文件夹(通过菜单栏-数据源-文件夹切换):选择一个文件夹,该文件夹下所有excel将被导入

MySQL/Oracle/SQL Server连接:

填入目标数据库的连接信息。
服务器:本地数据库填写localhost,远程数据库填写其所在服务器IP地址
端口:mysql默认3306
用户名:
密码:

Excel选项:

遍历子目录

遍历所选目录及其子目录下所有excel文件

只导入最近更新的文件

记录上次导入的时间,下次导入时只导入该时间后有更新的excel

CSV文件编码:

默认为AI识别,表示工具自动探测,如果能确定所有CSV文件编码,
你可以指定(可选择和输入)以提高效率

表头所在行数:

指定将第几行作为列名,第一行从1开始,不填默认为1

数据开始行数:

数据开始行数,不填默认为2

跳过结尾行数:

跳过文件末尾行数,不填默认为0

去除单元格值首尾空格:

去除单元格值首尾空格

将这些值单元格值替换为null:

对于常见的excel错误单元格或者某特定的值,以逗号分隔填入,这些单元格值将被替换为null。比如:#NA,null,0

MySQL/Oracle/SQL Server选项:

表若存在时先删除:

导入前若数据库表已存在,执行drop table if exists操作

表若不存在时先新建:

导入前若数据库表不存在,执行create table if not exists操作

导入前先清空表数据:

导入前删除表数据,执行delete from操作

将所有数据导入到同一张表:

将所有excel数据都导入到输入的表

将这些数据导入到同一张表:

sheet名相同:将sheet名相同的数据导入同一张表
excel名相同:将excel文件名相同的数据导入同一张表
excel名相似:将excel文件名相似的数据导入同一张表

当表列长度不够时,允许增加列长度:

当数据库表中列长度不够时,动态增加列长度,执行alter table modify column 操作

当excel存在多余的列时:

不处理:不做任何操作
忽略多余列:只导入匹配上的列数据
在表中增加新列:在库表中增加新列,执行alter table add column 操作

与excel与表数据重复时:

当库表存在主键或者唯一索引,并且出现数据重复时:
不处理:不做任何操作
忽略:忽略重复数据,执行insert ignore into 操作
更新:更新库表数据,根据唯一键更新库表数据

转换表名和列名中文为英文

将表名和列名中的中文转换为拼音

为创建的表名添加前缀:

为创建的表名指定前缀

创建表时添加一列值为自增id的主键列

创建表时在数据库表中添加一列,该列将存储数自动增长的数字,并作为该表的主键

将excel文件名存到列

将exce文件名存到填写的列

关于工具如何工作:

下面描述了一些工具工作时的逻辑

如何确定表名:

如果excel里只包含一个sheet >> excel文件名
如果excel里包含多个sheet >> excel文件名+_+sheet名
非文字字符例如括号都会被替换成_
如果表名长度超过了数据库限制 >> 截断

如何确定列名:

默认使用第一行作为列名,如果列名全为空,将用下一个非空行作为列名
如果存在列名为空,将用abcd等作为列名
字符例如括号都会被替换成_
如果列名重复,使用列名+计数作为列名

如何确定列类型:

工具将计算每列最大长度,如果小于255,将使用varchar(255),
如果大于255,将使用text。

定时调度

工具可以直接在命令行模式下后台运行(没有图形化界面),因此,可以在windows或者linux对其配置定时任务,实现定时运行。
只需要添加一个配置文件(config.yml)作为其参数即可,工具通过读取该配置文件里面的配置自动运行。

  • ExcelToMySQL.exe D:/config.yml
    详细使用教程:定时导入excel到数据库

ExcelToDatabase:批量导入Excel文件到MySQL/Oracle/SQL Server数据库的自动化工具相关推荐

  1. ExcelToMySQL-批量导入Excel文件到MySQL数据库的自动化工具

    ExcelToMySQL:批量导入Excel文件到MySQL数据库的自动化工具 简介 ExcelToMySQL 是一个可以批量导入excel到数据库(mysql/oracle/sqlserver)的自 ...

  2. ExcelToOracle:批量导入Excel文件到Oracle数据库的自动化工具

    ExcelToOracle:批量导入Excel文件到Oracle数据库的自动化工具 简介 ExcelToOracle 是一个可以批量导入excel到数据库(mysql/oracle/sqlserver ...

  3. csv导入mysql phpmyadmin_【转】从phpMyAdmin批量导入Excel内容到MySQL(亲测非常简洁有效)...

    今天做项目遇到需要用phpMyAdmin批量导入Excel内容到MySQL数据库.分析了我的踏坑经历并且总结一最便捷的一套导入数据的方法,非常实用简洁: 1.修改Excel表的数据,使得Excel中的 ...

  4. SpringMVC导入Excel文件到MySQL

    转载自 https://blog.csdn.net/wdehxiang/article/details/77619677 使用SpringMVC导入Excel文件到MySQL时,由于是第一次做,所以走 ...

  5. Mysql Oracle Sql server 三种数据库默认端口

    ** Mysql Oracle Sql server 三种数据库默认端口 ** SQL Server默认端口号为:1433 URL:"jdbc:microsoft:SQL Server:// ...

  6. php mysql导入excel_如何从PHP导入Excel文件到mysql数据库

    让我们说, 我想从 PHP导入/上传excel文件到mysql 我的HTML如下 File Upload Only Excel/CSV File Import. Upload PHP代码如下 if(i ...

  7. JAVA编码(27)——执行批量导入Excel文件并进行解析

    1.建立web工程引入jar包:commons-fileupload.jarcommons-lang-1.0.1.jarjspsmartupload.jarpoi-2.5-final-20040302 ...

  8. Python批量导入Excel文件中的不重复数据到SQLite数据库

    封面图片:<Python可以这样学>,董付国,清华大学出版社 ============== 好消息:智慧树网APP"知到"中搜索"董付国"可以免费观 ...

  9. mysql怎么批量导入excel数据_phpmyadmin怎么批量导入excel数据到mysql

    首先我们得到了一个excel表,里面有很多需要我们导入的数据 删除第1行"id""XXX"....的字段行,只保留我们需要的数据部分 单击"文件&qu ...

最新文章

  1. java i18n实例_Java SpringMVC实现国际化整合案例分析(i18n) 专题
  2. android studio文件风格,Android Studio构建风格 – 如何拥有不同风格的相同源文件
  3. 消费物联网与工业物联网有何区别?
  4. 转:SqlServer中的datetime类型的空值和c#中的DateTime的空值的研究
  5. 某大佬的20+公司面试题总结和自己的补充
  6. c++ map 自定义排序_Java学习笔记:Map集合介绍
  7. 用VC写Assembly代码(5) --函数调用(一)
  8. 动态sql之各种标签的使用以及详细配置
  9. linux的mysql如何删除用户_linux mysql增加用户,删除用户,以及用户权限
  10. java 配置文件的路径_详解java配置文件的路径问题
  11. 51Nod-1009 数字1的数量【数位DP+记忆化搜索】
  12. torch中的retain graph、detach
  13. mysql innerdb 索引,MySQL系列-InnoDB索引优化AHI、Change buffer
  14. 如何通过KRPano全景资源下载助手来批量下载720yun的全景图
  15. CLRNet Cross Layer Refinement Network for Lane Detection
  16. 强化学习中的backups
  17. 伊利诺伊香槟分校计算机科学,UIUC的CS「伊利诺伊大学香槟分校计算机科学系」...
  18. 关于SSD写放大问题
  19. 论文发表的刊物级别怎么查询呢
  20. MonoRail学习笔记十五:文件上传

热门文章

  1. 计算机教案教材分析,七年级《信息技术》下册教材分析及教案
  2. 使用RecyclerView选择图片并上传
  3. 史上最全的贝塞尔曲线(Bezier)全解(一):初识贝塞尔曲线
  4. 爬虫之多线程爬取智联招聘信息
  5. 清除电脑垃圾AppData下TEMP+点击360一键清理
  6. java集合线程安全解决方案(List,Set,Map)
  7. 怎么取消苹果手机自动续费_手机上优酷会员怎么取消自动续费
  8. 电脑中了incaseformat病毒怎么办? incaseformat病毒删除方法
  9. OLED屏幕到底占了多少智能手机呢?
  10. Digit(湘潭大学比赛)