ExcelToDatabase:批量导入Excel到数据库的自动化工具
点此下载最新版本
支持8种主流数据库
简介
ExcelToDatabase是一个可以批量导入excel到数据库(mysql/oracle/sql server/postgresql/access/hive/sqlite/达梦)的自动化工具。自动化是其最大的特点,因为它可以根据excel自动生成表信息与数据库建立联系,最终将数据导入到数据库表。批量是它另一个特点,因为可以做到自动化,所以你可以一次性导入成千上万张表而不是一个一个导。定时导入导出,实时刷新,实现Excel数据与数据库表数据的无缝连接。
工具特色:
自动:工具可以根据excel自动生成表名、列名、列类型及其长度,最终创建表并导入数据,或者根据生成的表信息与数据库表自动匹配并追加或者更新数据
批量: 通常你只能用其他工具一个一个手动导入excel到数据库,但是现在,你可以一次性导入成千上万张表
简单: 只需要提供excel文件位置和目标数据库连接信息,工具就能开始工作直到excel全部被导入
快捷:全部导入100张1万行x10列的excel用时1分零30秒,导入10个小文件更是不到1秒钟,导入一个100万行x20列文件大小100MB的大型excel仅需2分22秒
智能:你是否手动导入时经常遇到错误?不要担心!工具可以轻松避免或者自动纠正。
定时: 可以使用内含定时任务功能或搭配windows计划任务程序,实现定时导入
实时: 利用定时任务,可实现当excel数据更新时,实时同步更新至数据库
安全:工具无任何互联网连接程序,完全支持本地离线或局域网工作,且已通过360安全检测并上架联想应用商店,保障数据安全
程序下载
最新版本下载:点击下载联想应用商店下载:前往下载Win7用户请下载:点击下载使用方法:
1、点击exe启动程序
2、选择excel并填入数据库信息(必填)
3、选择选项(可选)
4、点击开始
支持环境
操作系统:Windows数据库:MySQL/Oracle/SQL Server/PostgreSQL/Access/Hive/SQLite/达梦Excel:xls/xlsx/xlsm/csv典型使用场景:
场景一:一键导入excel到数据库
场景二:多个excel文件批量导入到数据库
场景三:合并多个excel文件数据
场景四:定时导入excel到数据库
场景五:实时同步刷新excel数据到数据库
菜单
配置:
可打开,保存,另存,删除和导入界面配置
数据源:
文件: 选择文件作为数据源,单个或者多个被选中的文件将被
文件夹: 选择文件夹作为数据源,文件夹下所有excel都将被导入
数据库:
切换至其他数据库
定时任务:
可新增、编辑、删除、导入定时任务
设置方法可参考:定时导入excel到数据库
选项介绍:
Excel:
选择需要被导入的excel目录或者文件。
选择文件(默认):选择一个或多个excel文件,被选中的文件将被导入
选择文件夹(通过菜单栏-数据源-文件夹切换):选择一个文件夹,该文件夹下所有excel将被导入
数据库连接:
填入目标数据库的连接信息,
服务器:本地或远程目标数据库服务器地址
端口:
用户名:
密码:
数据库:
模式(sql server,postgresql和达梦):
数据库文件:access和splite数据库请选择目标数据库文件
服务器(用户名/密码/临时文件目录):hive请填写
点击开始工具将首先连接数据库,如打印:数据库已连接,开始导入,则表示数据库连接成功,否则数据库未连接成功。
请准确填写数据库连接信息,可参考其他数据库工具(navicate,sql management studio,pl/sql等)连接方式并确认数据库能正常连接。
如有疑问请联想我们获取帮助。
Excel选项:
遍历子目录
遍历所选目录及其子目录下所有excel文件,仅数据源选择文件夹时有效
仅导入最近更新的文件
记录上次成功导入excel的时间,下次导入时只导入该时间后有更新或新增的excel(重新选择数据源后且文件夹变更后失效)
加速读取大型Excel
打开excel后台程序以加速读取大数据量excel文件(仅适用于已安装excel的windows,且文件格式为xlsx/xls的文件,该选项会锁定excel并占用较多电脑资源,建议仅在文件较大时开启)
CSV文件编码:
默认为AI识别,表示工具自动探测,如果能确定所有CSV文件编码,可以指定(可选择和输入)以提高效率。AI识别有一定失败几率,如果失败报编码格式相关问题,请另存为utf8编码格式文件或另存为xlsx再重新导入
列分隔符:
指定csv文件的列分隔符,默认为逗号,
行分隔符:
指定csv文件的行分隔符,仅支持单个字符串,默认为\n
Excel密码:
输入加密excel的密码
指定要导入的Sheet序号或名称:
sheet序号例如:1,sheet名称例如:Sheet1多个sheet以逗号,分隔,不填默认全部导入
指定要忽略的sheet名称起始符:
例如填写:@,那么名称以@开始的sheet都将被忽略,不填默认全部导入
指定要导入列的名称或序号:
填列名(col1)或序号(1)或标签(A:E(不支持csv格式和开启选项加速读取大型Excel)),多列以逗号(,)分隔,不填默认导入所有列
表头所在行数:
指定将第几行作为列名,第一行从1开始,不填默认为1。支持多级表头,例:1-3可以填0,表示数据从第一行开始,列名以A,B,C。。。命名,如果同时指定了要导入的目标表名(MySQL选项),工具将以顺序与表列进行匹配导入。
数据开始行数:
数据开始行数,不填默认为 表头所在行数+1
跳过结尾行数:
跳过文件末尾行数,不填默认为0
去除单元格值首尾空格:
去除单元格值首尾空格,即执行trim函数
删除空行
删除单元格全为空白的行
将空白单元格替换为NULL
将空白单元格替换为NULL
将这些值单元格值替换为NULL:
对于常见的excel错误单元格或者某特定的值,以逗号分隔填入,这些单元格值将被替换为null。比如:#NA,null,0,不填默认不替换
将这些字符替换为空字符
多个值以逗号分割,例如:---, ,(,不填默认不替换
将数据按这些列去重
多列以逗号分割,例如:col1,col2,整行去重填*,不填默认不去重
使用上一行数据补全这些列的空白单元格
使用上一行数据补全所填列的空白单元格,多列以逗号分割,例如:col1,col2
字段匹配
指定字段匹配规则:按名称:根据excel表头名称匹配数据库表字段按顺序:根据excel表头顺序匹配数据库表字段自定义:根据自定义文件与数据库表及字段进行匹配,模板位于工具目录下的files目录的“字段匹配自定义模板.xlsx”
数据库选项:
表若存在先删除:
导入前若数据库表已存在,执行drop table if exists操作注:谨慎操作,该项导入失败不可回滚
表若存在先清空:
导入前删除表数据,执行delete from操作(不是tuncate,导入失败可回滚)
表若不存在先新建:
导入前若数据库表不存在,执行create table if not exists操作
将所有Excel数据导入到指定表:
将所有excel数据都导入到输入的目标表
将这些数据导入到同一张表:
sheet名相同:将sheet名相同的数据导入同一张表,且以sheet名作为表名excel名相同:将excel文件名相同的数据导入同一张表excel名相似:将excel文件名相似的数据导入同一张表
使用Sheet名作为表名
勾选以使用sheet名作为表名,默认使用excel文件名作为表名
将表名和列名中的符号都替换为下划线_
将表名和列名中的符号(冒号引号等)都替换为下划线_,若excel名字存在特殊符号,勾选此项以避免导入失败
转换表名和列名中文为拼音首字母
将表名和列名中的中文转换为拼音首字母
使用正则表达式提取表名
从excel文件名中使用正则表达式提取表名,不填默认为原excel文件名
为创建的表名添加前缀/后缀:
为创建的表名指定前缀/后缀以示区分
创建表时添加自增主键列
创建表时在数据库表中添加一列,该列将存储数自动增长的数字,并作为该表的主键
将Excel文件名(可正则提取) 存到列
将exce文件名存到填写的列,可以对excel文件名应用正则表达式提取后再作为列值
当表列长度不够时,允许增加列长度:
当数据库表中列长度不够时,动态增加列长度,执行alter table modify column 操作
将导入时间存到列
将导入时间存到目标列,不存在则新建
当Excel存在多余的列时:
不处理:不做任何操作忽略多余列:只导入匹配上的列数据在表中增加新列:在库表中增加新列,执行alter table add column 操作
当Excel与表数据重复时:
当库表存在主键或者唯一索引,并且出现数据重复时:不处理:不做任何操作忽略:忽略重复数据,执行insert ignore into 操作更新:更新库表数据,根据唯一键更新库表数据
按这些列替换表数据:
多列以逗号分割,例如:col1,col2,不填默认不更新
设置最大并发连接数
建立多个连接并行插入,以提高大数据量插入效率(该选项将在插入前commit,提交所有操作,若插入失败将不可回滚,建议仅在文件较大或较多时开启)
写入方式(sql server)
快速写入: 最快,适用于中小型文件,若内存不足或报未知错误,请使用其他引擎bcp写入: 较快,适用于大型文件,需要电脑已安装好与数据库适配的bcp工具并行写入: 较快,默认开启5个连接并行写入,适用于大型文件常规写入: 最慢,适用于其他方式均不可行时使用
其他:
导入前清空日志文件
导入前清空该配置下的日志文件记录
导入完成弹出提示框
导入完成弹出提示框
ODBC驱动程序
sql server和access需安装odbc驱动程序
开始前/结束后运行SQL
全部导入开始前或结束后运行SQL文件里的SQL
结束后运行查询语句,并将结果导出到
结束后运行查询语句,并将查询结果导出到excel,支持xlsx和csv,无则新建,有则覆盖
更新日志
ExcelToDatabase 2.2.4已更新(-09-22)
更新内容:
全部:
1.修复excel读取失败可能不打印错误的问题
请前往工具菜单栏-帮助-在线文档中的下载链接下载更新
计划移除的选项:
Excel选项:
指定要导入Sheet的序号(保留名称)
指定要导入列的序号(保留名称)
ExcelToDatabase 2.2.2已更新(-09-15)
更新内容:
全部:
1.excel选项:字段匹配为自定义时,sheet名称为数字无法匹配的问题
2.优化其他选项:导出csv时打开中文乱码的问题
3.修复配置不能另存为的问题
感谢@陈俊瑞 @mycio 提出的bug
ExcelToDatabase 2.2.1已更新(-09-10)
更新内容:
全部:
1.优化其他选项-结束后运行sql:如果没有导入数据,则跳过结束后运行sql
2.增加excel选项:将这些字符替换为空字符
3.有定时任务运行时,点击X将隐藏到托盘区
4.优化excel选项:仅导入最近更新文件-点击保存时保留文件更新时间,定时任务导入时仅保存文件更新时间
5.新增一键迁移功能
Oracle:
1.修复数据类型为日期且日期较大时(9999-12-31)无法插入的问题