当前位置:   article > 正文

ExcelToDatabase:批量导入Excel到数据库的自动化工具

exceltodatabase

ExcelToDatabase:批量导入Excel到数据库的自动化工具

在这里插入图片描述

简介

ExcelToDatabase 是一个可以批量导入excel(xls/xlsx/xlsm/xlsb/csv/txt)到数据库(mysql/oracle/sql server/postgresql/access/hive/sqlite/达梦)的自动化工具。
自动是其最大的特点,因为它可以根据excel自动生成表信息与数据库建立联系,最终将数据导入到数据库表。
批量是它另一个特点,因为可以做到自动化,所以你可以一次性导入成千上万张表而不是一个一个导。
定时导入导出,实时刷新,实现Excel数据与数据库表数据的无缝连接。

工具特色:

自动:工具可以根据excel自动生成表名、列名、列类型及其长度,最终创建表并导入数据,或者根据生成的表信息与数据库表自动匹配并追加或者更新数据
批量: 通常你只能用其他工具一个一个手动导入excel到数据库,但是现在,你可以一次性导入成千上万张表
简单: 只需要提供excel文件位置和目标数据库连接信息,工具就能开始工作直到excel全部被导入
快捷:全部导入100张每张1万行x20列x1MB的excel用时1分46秒,
导入一个100万行x50列x300MB的大型excel仅需3分24秒,
导入一个1000万行x30列x4GB的巨型csv仅需5分35秒,
导入一个10个sheet共1000万行x50列x2GB的巨型excel仅需31分25秒
(普通笔记本测试)
智能:你是否手动导入时经常遇到错误?不要担心!工具可以轻松避免或者自动纠正。
定时: 可以使用内置定时任务功能或搭配其他定时任务程序,实现定时导入
实时: 利用定时任务,可实现当excel数据更新时,实时同步更新至数据库
安全:工具无任何互联网连接程序,完全支持本地离线或局域网工作,且已通过360安全检测并上架联想应用商店,保障数据安全

支持环境

  • 操作系统:Windows/Linux/Mac
  • Excel:xls/xlsx/xlsm/xlsb/csv/txt
  • 数据库:MySQL/Oracle/SQL Server/PostgreSQL/Access/Hive/SQLite/达梦

程序下载

Windows 10/11:

Windows 7:点击下载
Linux:点击下载
Mac:点击下载

使用方法:

1、点击ExcelToDatabase.exe启动程序
2、新建数据库连接
3、数据库连接成功后新建配置
4、选择要导入的Excel,目标表以及导入模式(必填)
5、根据需要调整高级选项(可选)
6、点击开始

API:

工具提供可供其他应用程序调用的API能力,用于无图形化界面的后台导入
例如:ExcelToDatabase.exe 测试连接1 测试配置1
命令:ExcelToDatabase.exe
参数1:测试连接1--连接名称
参数2:测试配置1--配置名称
  • 1
  • 2
  • 3
  • 4
  • 5

系列教程:

一:新建数据库连接指南
二:一键导入excel到数据库
三:多个excel文件批量导入到数据库
四:合并多个excel文件数据
五:定时导入excel到数据库
六:实时同步刷新excel数据到数据库
七:导入复杂表头的excel到数据库

性能测试

在这里插入图片描述

选项介绍:

Excel:

选择需要被导入的excel目录或者文件。
选择文件:选择一个或多个excel文件,被选中的文件将被导入
选择目录:选择一个文件夹,该文件夹下所有excel将被导入

目标表:

自动生成:工具通过excel文件名和sheet名自动生成表名
手动指定:选择或输入一个表名

导入模式:

追加:添加记录到目标表
更新:删除目标表相同记录,并从Excel重新导入数据
覆盖:删除目标表全部记录,并从Excel重新导入数据
重建:删除目标表,并从Excel重新导入数据

Excel选项:

读取引擎
默认引擎:支持所有选项
加速引擎:速度更快,但是部分功能受限,包括:需要电脑安装有Excel,仅在文件格式为xls/xlsx时有效,不支持指定导入列的标签,该选项会锁定excel文件并占用较多电脑资源,建议仅在文件较大时开启
  • 1
  • 2
遍历子目录
遍历所选目录及其子目录下所有excel文件,仅数据源选择文件夹时有效
  • 1
仅导入最近更新的文件
记录上次成功导入excel的时间,下次导入时只导入该时间后有更新或新增的excel
(重新选择数据源后且文件夹变更后失效)
  • 1
  • 2
指定要导入的Sheet名称/序号:
名称:例如:Sheet1,Sheet2
序号:1,2
多个sheet以逗号,分隔,不填默认全部导入
  • 1
  • 2
  • 3
指定要导入列的名称/序号/标签:
名称:序号,姓名
序号:1,2
标签: A:E
不填默认导入所有列,CSV/TXT不支持标签
  • 1
  • 2
  • 3
  • 4
表头所在行数:
指定将第几行作为列名,第一行从1开始,不填默认为1。
支持多级表头,例:1-3
可以填0,表示数据从第一行开始,列名以A,B,C。。。命名,
  • 1
  • 2
  • 3
数据开始行数:
数据开始行数,不填默认为 表头所在行数+1
  • 1
要导入的行数:
指定要导入的行数,默认为所有行
  • 1
跳过结尾行数:
跳过文件末尾行数,不填默认为0
注:改选项和要导入的行数互斥
  • 1
  • 2
CSV/TXT文件编码:
默认为自动识别,表示工具自动探测,如果能确定所有CSV/TXT文件编码,
可以指定(可选择和输入)以提高效率。AI识别有一定失败几率,
如果失败报编码格式相关问题,请另存为utf8编码格式文件或另存为xlsx再重新导入	
  • 1
  • 2
  • 3
列分隔符:
指定csv文件的列分隔符,默认为逗号,
  • 1
行分隔符:
指定csv文件的行分隔符,仅支持单个字符串,默认为\n
  • 1
分批导入,每批导入行数:
分批导入大型csv/txt文件,避免内存不足,比如100000
  • 1
Excel密码:
输入加密excel的密码
  • 1
字段匹配
指定字段匹配规则:
按名称:根据excel表头名称匹配数据库表字段
按顺序:根据excel表头顺序匹配数据库表字段
自定义:根据自定义文件与数据库表及字段进行匹配,模板位于工具目录下的files目录的“字段匹配自定义模板.xlsx”
  • 1
  • 2
  • 3
  • 4

数据清洗选项:

将这些值单元格值替换为空白单元格:
对于常见的excel错误单元格或者某特定的值,以逗号分隔填入,
这些单元格值将被替换为null。比如:#NA,null,0,不填默认不替换
  • 1
  • 2
将这些字符替换为空字符
多个值以逗号分割,例如:---, ,(,不填默认不替换
  • 1
去除单元格值首尾空格:
去除单元格值首尾空格,即执行trim函数
  • 1
删除空行
删除单元格全为空白的行
  • 1
将数据按这些列去重
多列以逗号分割,例如:col1,col2,整行去重填*,不填默认不去重
  • 1
使用上一行数据补全这些列的空白单元格
使用上一行数据补全所填列的空白单元格,多列以逗号分割,例如:col1,col2
  • 1
将空白单元格替换为表列定义的默认值
将空白单元格替换为表列定义的默认值
  • 1
将数字类型列的空白单元格替换为0
将数字类型列的空白单元格替换为0
  • 1
将空白单元格替换为NULL
将空白单元格替换为NULL
  • 1
当Excel与数据库表存在相同记录时:
当库表存在主键或者唯一索引,并且出现数据重复时:
根据数据库表的唯一键忽略Excel重复数据:追加模式适用
根据数据库表的唯一键更新数据库表的相同记录:更新模式适用
手动指定更新字段并替换数据库表数据:手动指定字段,不需要在数据库表设置唯一键,多列以逗号分割
  • 1
  • 2
  • 3
  • 4

数据库选项:

目标表命名规则:
自动判断:当sheet只有一个时,使用Excel文件名作为表名,当有多个sheet时,使用Excel文件名+Sheet名作为表名
使用Excel文件名+Sheet名:使用Excel文件名+Sheet名作为表名
仅使用Excel文件名:仅使用Excel文件名作为表名
仅使用Sheet名:仅使用Sheet名作为表名
  • 1
  • 2
  • 3
  • 4
使用正则表达式提取表名
从excel文件名中使用正则表达式提取表名,不填默认为原excel文件名
  • 1
将表名中的符号都替换为下划线_
将表名种的符号(冒号引号等)都替换为下划线_,
若excel名字存在特殊符号,勾选此项以避免导入失败
  • 1
  • 2
转换表名中文为拼音首字母
将表名的中文转换为拼音首字母
  • 1
为创建的表名添加前缀/后缀:
为创建的表名指定前缀/后缀以示区分
  • 1
表名大小写:
保持原样:保持原样
使用大写:使用大写字符
使用小写:使用小写字符
  • 1
  • 2
  • 3
当自动生成的目标表重复时:
视为不同目标表并为表名添加后缀:
视为相同目标表并合并数据
  • 1
  • 2
将字段名中的符号都替换为下划线_
将字段名种的符号(冒号引号等)都替换为下划线_,
若字段存在特殊符号,勾选此项以避免导入失败
  • 1
  • 2
转换字段名中文为拼音首字母
将字段名的中文转换为拼音首字母
  • 1
字段名大小写:
保持原样:保持原样
使用大写:使用大写字符
使用小写:使用小写字符
  • 1
  • 2
  • 3
创建表时添加自增主键列
创建表时在数据库表中添加一列,该列将存储数自动增长的数字,并作为该表的主键
  • 1
将导入时间存到字段
将导入时间存到所填写的列
  • 1
将Excel文件名(可正则提取)存到字段
将exce文件名存到填写的列,可以对excel文件名应用正则表达式提取后再作为列值
  • 1
字段数据类型
全部使用文本类型:使用varchar/nvarchar作为数据类型
自动识别数字及日期类型:仅xls/xlsx/xlsm/xlsb有效
  • 1
  • 2
当Excel存在多余的列时:
不处理:不做任何操作
忽略多余列:只导入匹配上的列数据
在表中增加新列:在库表中增加新列,执行alter table add column 操作
  • 1
  • 2
  • 3
当表列长度不够时,允许增加列长度:
当数据库表中列长度不够时,动态增加列长度
  • 1
写入方式
快速写入: 快
load写入:  快,适用于大型文件且数据库为mysql/hive,其中hive需要在其他选项填写服务器登录信息
bcp写入:  快,适用于大型文件和sql server,需要电脑已安装bcp工具(CMD命令行输入:bcp)
sqlldr写入:  快,适用于大型文件和oracle,需要电脑已安装好与数据库适配的sqlldr工具(CMD命令行输入:sqlldr)
并行写入: 较快,默认开启5个连接并行写入,适用于大型文件
常规写入: 较慢,适用于中小型文件,并能打印并跳过写入错误的行
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

其他选项:

导入前清空日志文件
导入前清空该配置下的日志文件记录
  • 1
开始前/结束后运行SQL
全部导入开始前或结束后运行SQL文件里的SQL
  • 1
结束后运行查询语句,并将结果导出到
结束后运行查询语句,并将查询结果导出到excel,支持xlsx和csv,无则新建,有则覆盖
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/321627
推荐阅读
相关标签
  

闽ICP备14008679号