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 ServerExcel: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到数据库