ExcelToDatabase:批量导入Excel文件到数据库的自动化工具 您所在的位置:网站首页 csv批量导入excel ExcelToDatabase:批量导入Excel文件到数据库的自动化工具

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

2024-01-06 17:55| 来源: 网络整理| 查看: 265

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

请添加图片描述

支持8种主流数据库

在这里插入图片描述

简介

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仅需10分35秒, 导入一个10个sheet共1000万行x50列x2GB的巨型excel仅需31分25秒 (普通笔记本mysql测试) 智能:你是否手动导入时经常遇到错误?不要担心!工具可以轻松避免或者自动纠正。 定时: 可以使用内置定时任务功能或搭配其他定时任务程序,实现定时导入 实时: 利用定时任务,可实现当excel数据更新时,实时同步更新至数据库 安全:工具无任何互联网连接程序,完全支持本地离线或局域网工作,且已通过360安全检测并上架联想应用商店,保障数据安全

支持环境 操作系统:WindowsExcel:xls/xlsx/xlsm//xlsb/csv/txt数据库:MySQL/Oracle/SQL Server/PostgreSQL/Access/Hive/SQLite/达梦 程序下载 最新版本下载(目前仅支持SQL Server):点击下载稳定版本下载:前往下载Win7用户下载:点击下载 使用方法:

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

API: 工具提供可供其他应用程序调用的API能力,用于无图形化界面的后台导入(禁止用于同质程序套壳)。 例如:ExcelToDatabase.exe MySQL 默认 命令:ExcelToDatabase.exe 参数1:MySQL--数据库类型 参数2:默认--保存好的配置文件名称(也可以使用配置文件的绝对路径如:D:\Projects\ExcelToDatabase 3.1.0\to_mysql\saved_configuration\默认.yml) 系列教程:

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

性能测试

在这里插入图片描述

菜单

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

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

数据库: 切换至其他数据库

定时任务: 可新增、编辑、删除、导入定时任务 设置方法可参考:定时导入excel到数据库

选项介绍: Excel:

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

数据库连接:

填入目标数据库的连接信息, 服务器:本地或远程目标数据库服务器地址 端口: 用户名: 密码: 数据库: 模式(sql server,postgresql和达梦): 数据库文件:access和splite数据库请选择目标数据库文件

点击开始工具将首先连接数据库,如打印:数据库已连接,开始导入,则表示数据库连接成功,否则数据库未连接成功。 请准确填写数据库连接信息,可参考其他数据库工具(navicate,sql management studio,pl/sql等)连接方式并确认数据库能正常连接。

详细连接方法请参考数据源选择与数据库连接

Excel选项: 遍历子目录 遍历所选目录及其子目录下所有excel文件,仅数据源选择文件夹时有效 仅导入最近更新的文件 记录上次成功导入excel的时间,下次导入时只导入该时间后有更新或新增的excel (重新选择数据源后且文件夹变更后失效) 加速读取大型Excel 打开excel后台程序以加速读取大数据量excel文件 (仅适用于已安装excel的windows,且文件格式为xlsx/xls的文件, 该选项会锁定excel并占用较多电脑资源,建议仅在文件较大时开启) CSV/TXT文件编码: 默认为AI识别,表示工具自动探测,如果能确定所有CSV/TXT文件编码, 可以指定(可选择和输入)以提高效率。AI识别有一定失败几率, 如果失败报编码格式相关问题,请另存为utf8编码格式文件或另存为xlsx再重新导入 列分隔符: 指定csv文件的列分隔符,默认为逗号, 行分隔符: 指定csv文件的行分隔符,仅支持单个字符串,默认为\n Excel密码: 输入加密excel的密码 指定要导入的Sheet名称: 例如:Sheet1 多个sheet以逗号,分隔,不填默认全部导入 指定要忽略的sheet名称起始符: 例如填写:@,那么名称以@开始的sheet都将被忽略,不填默认全部导入 指定要导入列的名称: 填列名(col1)或标签(A:E(不支持csv格式和开启选项加速读取大型Excel)),多列以逗号(,)分隔,不填默认导入所有列 表头所在行数: 指定将第几行作为列名,第一行从1开始,不填默认为1。 支持多级表头,例:1-3 可以填0,表示数据从第一行开始,列名以A,B,C。。。命名, 如果同时指定了要导入的目标表名(MySQL选项),工具将以顺序与表列进行匹配导入。 数据开始行数: 数据开始行数,不填默认为 表头所在行数+1 要导入的行数: 指定要导入的行数,默认为所有行 跳过结尾行数: 跳过文件末尾行数,不填默认为0 去除单元格值首尾空格: 去除单元格值首尾空格,即执行trim函数 删除空行 删除单元格全为空白的行 将空白单元格替换为NULL 将空白单元格替换为NULL 将空白单元格替换为表列定义的默认值 将空白单元格替换为表列定义的默认值 将数字类型列的空白单元格替换为0 将数字类型列的空白单元格替换为0 将这些值单元格值替换为NULL: 对于常见的excel错误单元格或者某特定的值,以逗号分隔填入, 这些单元格值将被替换为null。比如:#NA,null,0,不填默认不替换 将这些字符替换为空字符 多个值以逗号分割,例如:---, ,(,不填默认不替换 将数据按这些列去重 多列以逗号分割,例如:col1,col2,整行去重填*,不填默认不去重 使用上一行数据补全这些列的空白单元格 使用上一行数据补全所填列的空白单元格,多列以逗号分割,例如:col1,col2 字段匹配 指定字段匹配规则: 按名称:根据excel表头名称匹配数据库表字段 按顺序:根据excel表头顺序匹配数据库表字段 自定义:根据自定义文件与数据库表及字段进行匹配,模板位于工具目录下的files目录的“字段匹配自定义模板.xlsx” 数据库选项: 表若存在先删除: 导入前若数据库表已存在,执行drop table操作 注:谨慎操作,该项导入失败不可回滚 表若存在先清空: 导入前删除表数据,执行delete from table操作(不是tuncate,支持事务的数据库导入失败可回滚) 表若不存在先新建: 导入前若数据库表不存在,执行create table操作,表头将作为字段注释 添加分区字段/设置分区值: 添加分区字段,并将数据导入到设置的分区值,仅hive 清空分区: 导入前按设置的分区值清空分区 将所有Excel数据导入到指定表: 将所有excel数据都导入到输入的目标表 将这些数据导入到同一张表: sheet名相同:将sheet名相同的数据导入同一张表,且以sheet名作为表名 excel名相同:将excel文件名相同的数据导入同一张表 excel名相似:将excel文件名相似的数据导入同一张表 使用Sheet名作为表名 勾选以使用sheet名作为表名,默认使用excel文件名作为表名,多个sheet的excel使用文件名+下划线+sheet名作为表名 将表名和列名中的符号都替换为下划线_ 将表名和列名中的符号(冒号引号等)都替换为下划线_, 若excel名字存在特殊符号,勾选此项以避免导入失败 转换表名和列名中文为拼音首字母 将表名和列名中的中文转换为拼音首字母 使用正则表达式提取表名 从excel文件名中使用正则表达式提取表名,不填默认为原excel文件名 为创建的表名添加前缀/后缀: 为创建的表名指定前缀/后缀以示区分 创建表时添加自增主键列 创建表时在数据库表中添加一列,该列将存储数自动增长的数字,并作为该表的主键 将Excel文件名(可正则提取)存到列 将exce文件名存到填写的列,可以对excel文件名应用正则表达式提取后再作为列值 将导入时间存到列 将导入时间存到所填写的列 使用nvarchar作为数据类型 使用nvarchar作为数据类型,默认为varchar,仅sql server 当表列长度不够时,允许增加列长度: 当数据库表中列长度不够时,动态增加列长度 将导入时间存到列 将导入时间存到目标列,不存在则新建 当Excel存在多余的列时: 不处理:不做任何操作 忽略多余列:只导入匹配上的列数据 在表中增加新列:在库表中增加新列,执行alter table add column 操作 当Excel与表数据重复时: 当库表存在主键或者唯一索引,并且出现数据重复时: 不处理:不做任何操作 忽略:忽略重复数据,执行insert ignore into 操作 更新:更新库表数据,根据唯一键更新库表数据 按这些列替换表数据: 多列以逗号分割,例如:col1,col2,不填默认不更新 设置最大并发连接数 建立多个连接并行插入,以提高大数据量插入效率( 该选项将在插入前commit,提交所有操作,若插入失败将不可回滚, 建议仅在文件较大或较多时开启) 写入方式 快速写入: 快,适用于中小型文件和sql server数据库,若内存不足或报未知错误,请使用其他引擎 load写入: 快,适用于大型文件且数据库为mysql/hive,其中hive需要在其他选项填写服务器登录信息 bcp写入: 快,适用于大型文件和sql server,需要电脑已安装bcp工具(CMD命令行输入:bcp) sqlldr写入: 快,适用于大型文件和oracle,需要电脑已安装好与数据库适配的sqlldr工具(CMD命令行输入:sqlldr) 并行写入: 较快,默认开启5个连接并行写入,适用于大型文件 常规写入: 教慢,适用于中小型文件和其他方式均不可行时使用 其他: 服务器用户名/服务器密码/WinSCP初始化登录 hive数据库写入方式选择load写入时,需填写服务器登录信息,首次使用需点击WinSCP初始化登录按钮,使用winscp登录服务器并保存session。 导入前清空日志文件 导入前清空该配置下的日志文件记录 导入完成弹出提示框 导入完成弹出提示框 ODBC驱动程序 sql server需安装odbc驱动程序 开始前/结束后运行SQL 全部导入开始前或结束后运行SQL文件里的SQL 结束后运行查询语句,并将结果导出到 结束后运行查询语句,并将查询结果导出到excel,支持xlsx和csv,无则新建,有则覆盖 更新日志

ExcelToDatabase 3.1.1已更新(2023-12-05) 更新内容: 1.修复新增配置时配置不对的问题 2.支持导入xlsb文件格式 SQL Server: 1.修复数字类型列可能无法导入的问题

请前往工具菜单栏-帮助-在线文档中的下载链接下载更新

ExcelToDatabase 3.1.0已更新(2023-11-24) 更新内容: 1.优化API调用时,配置文件参数的写法 2.修复多级表头导入问题 3.更正选项提示中的错别字 4.增加数据库选项:建表时自动识别数字及日期类型列 5.增加数据库选项:提交方式 6.增加新增/删除/保存配置按钮 7.修复加速读取excel并指定导入列时报错的问题 8.修复当填写将导入时间存到列时,当excel存在多余列忽略不生效的问题

MySQL: 1.修复bit类型列可能无法导入的问题

SQL Server: 1.修复API无法调用的问题

请前往工具菜单栏-帮助-在线文档中的下载链接下载更新

ExcelToDatabase 3.0.5已更新(2023-11-02) 更新内容: 1.修复读取筛选状态下的excel可能失败的问题 MySQL: 1.增加MySQL选项:建表时自动识别数字及日期类型列 2.修复多级表头导入列名可能不对的情况

ExcelToDatabase 3.0.3已更新(2023-10-24) 更新内容: 1.优化定时任务,星期的填写范围,原来是0-6,改为1-7 2.修复excel选项:使用上一行数据补全这些列的空白单元格,可能无法补全的问题 3.修复表名可能带有路径及后缀名的问题

Oracle: 1.优化sqlldr写入时数据存在换行符可能无法写入的问题

PostgreSQL: 1.表名和列名的大小写由原来的默认保留原样改为默认小写

达梦: 1.新增达梦选项:写入方式

ExcelToDatabase 3.0.0已更新(2023-10-14) 更新内容: 1.新增左侧配置栏,支持双击切换以及右键操作配置 2.优化定时任务界面:增加滚动条 3.全面升级底层组件,不再支持win7 4.移除Excel选项:指定要导入的sheet序号和指定要导入的列序号(保留名称) 5.新增txt文件导入 6.新增excel选项:将空白单元格替换为表列定义的默认值 7.新增excel选项:将数字类型列的空白单元格替换为0 8.excel包含多个sheet时,表名由excel名.sheet名变更为excel名_sheet名 9.内存占用优化

MySQL: 1.新增load写入方式 Oracle: 1.增加Oracle选项:sqlldr写入 Access: 1.修复access数据库文件及其路径不支持中文的问题,但是工具所在路径不能包含中文 Hive: 1.增加Hive选项:load写入 2.将服务器登录信息移至其他选项,并新增winscp按钮 3.优化分区表导入 4.修复无法创建表的问题

请前往工具菜单栏-帮助-在线文档中的下载链接下载更新

ExcelToDatabase 2.2.4已更新(2023-09-22) 更新内容: 全部: 1.修复excel读取失败可能不打印错误的问题

请前往工具菜单栏-帮助-在线文档中的下载链接下载更新

计划移除的选项: Excel选项: 指定要导入Sheet的序号(保留名称) 指定要导入列的序号(保留名称)

ExcelToDatabase 2.2.2已更新(2023-09-15) 更新内容: 全部: 1.excel选项:字段匹配为自定义时,sheet名称为数字无法匹配的问题 2.优化其他选项:导出csv时打开中文乱码的问题 3.修复配置不能另存为的问题

ExcelToDatabase 2.2.1已更新(2023-09-10) 更新内容: 全部: 1.优化其他选项-结束后运行sql:如果没有导入数据,则跳过结束后运行sql 2.增加excel选项:将这些字符替换为空字符 3.有定时任务运行时,点击X将隐藏到托盘区 4.优化excel选项:仅导入最近更新文件-点击保存时保留文件更新时间,定时任务导入时仅保存文件更新时间 5.新增一键迁移功能

Oracle: 1.修复数据类型为日期且日期较大时(9999-12-31)无法插入的问题



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有