excle 批量导入数据库-asp 批量导入excel数据
ExcelToDatabase:批量导入Excel文件到MySQL/Oracle/SQL Server数据库的自动化工具
介绍
ExcelToDatabase是一个自动化工具,可以批量导入excel到数据库(mysql/oracle/sqlserver)。 自动化是它最大的特点,因为它可以根据excel自动创建表格,最后将数据导入数据库,无需任何手动设置。 批处理是它的另一个特点,因为它可以自动化,所以你可以一次性导入成百上千张表,而不是一张一张导入。
工具特点:
自动:该工具可以根据excel自动设置表名、列名、列类型及其长度,根据excel与数据库的自动匹配,最终创建表并导入数据,或者追加或更新数据
批量:平时只能用其他工具手动将excel一张一张导入数据库excle 批量导入数据库,现在可以一次性导入成百上千张表
简单:您只需要提供excel文件的位置和目标数据库的连接信息,该工具就会开始工作,直到导入所有excel
Shortcut:最快的解决方案,没有之一
Smart:您在手动导入时是否经常遇到错误? 不用担心! 工具可以很容易地避免它或自动纠正它。
进阶:丰富的自定义选项,助您完成更多私人定制功能
定时:可以配合windows计划任务程序,实现定时调度
实时:通过定时识别最近更新的文件,同步实时刷新数据库表数据
典型使用场景:
场景一:excel一键导入数据库
场景二:将多个excel文件批量导入数据库
场景三:合并多个excel文件数据
场景四:定时导入excel到数据库
场景五:实时同步刷新excel数据到数据库
如何下载程序:
启动程序
单击 ExcelToDatabase.exe 启动程序
选择excel,填写数据库信息
在常规界面选择excel文件或目录,填写目标数据库连接信息,选择导入方式
点击开始
支持上下文菜单
语言:
数据库:点击数据库类型切换
数据源:
目录:选择目录作为数据源,将导入该目录下的所有excel文件
文件:选择一个文件作为数据源,将导入一个或多个选中的文件
选项说明: 常规: Excel:
选择要导入的excel目录或文件。
选择目录(通过菜单栏-数据源-文件切换):选择一个目录,将导入更改目录下的所有excel
选择文件(默认):选择一个或多个文件,选择的文件将被导入
MySQL/Oracle/SQL Server 连接:
填写目标数据库的连接信息。
Host:本地数据库填写localhost,远程数据库填写服务器IP地址
端口:mysql默认3306,oracle默认1521,sql server默认1433
用户:
密码:
模型:
覆盖模式:该工具会根据excel文件在数据库中新建一张表(如果该表已经存在则覆盖),并将数据导入其中。
Append 模式:该工具只将数据导入到数据库表中(数据库表需要已经存在)。 该模式下,工具将excel中的表名+列名与数据库中的表名+列名进行匹配excle 批量导入数据库,并将匹配的列数据导入到匹配的表中。 如果有不匹配的列,这些列中的数据将被忽略。
合并模式:将excel数据与数据库表的主键列数据进行比较,有则更新,无则插入。
高级:遍历子目录
若选择,工具将遍历所选目录及其子目录下所有excel文件
仅导入最近更新的文件
若选择,工具将只导入该目录下,上此导入后文件有更新的excel文件
CSV文件编码:
默认为AUTO,表示工具自动探测,如果能确定所有CSV文件编码,
你可以指定(可选择和输入)以提高效率
指定列名所在的行数:
指定将第几行作为列名,第一行从1开始,默认为1
数据起始行号:
数据开始行数,默认为2
将这些值替换为空值:
对于常见的excel错误单元格或者某特定的值,填入以逗号分隔,将被替换为null
删除空行:
如选择,工具将删除所有空行
删除字符前后的空格:
若选择,工具将去除字符前后空格
跳过空表:
若选择,如果表格没有数据,工具将不会创建数据库表
将所有数据追加到表中:
将导入的数据都追加到指定的某个已存在的表(仅追加模式有效)
在追加之前清空表格:
追加模式下,先清空被追加的表
将表名和列名从中文转换为英文
若选择,工具将表名和列名中的中文转换为拼音
为创建的表名添加前缀:
可以为工具创建的表名指定前缀,以示区分
添加一个值为自增id的主键列
在数据库表中添加一列,该列将存储数自动增长的数字,并作为该表的主键
添加一列,其值为excel文件的名称
在数据库表中添加一列,该列将存储数据所在excel文件的名字
在导入前后运行 SQL
允许导入前后运行自定义SQL
保存当前配置
保存当前配置
导入配置
导入已保存的配置
关于该工具的工作原理:
下面描述一些工具工作时的逻辑
如何确定表名:
如果excel里只包含一个sheet >> excel文件名
如果excel里包含多个sheet >> excel文件名+_+sheet名
字符例如括号都会被替换成_
如果表名长度超过了数据库限制 >> 截断
如何确定列名:
默认使用第一行作为列名,如果列名全为空,将用下一个非空行作为列名
如果存在列名为空,将用unnamed+计数作为列名
字符例如括号都会被替换成_
如果列名重复,使用列名+计数作为列名
如何确定列类型:
工具将计算每列最大长度,如果小于255,将使用varchar(255),
如果大于255,将使用text或者clob。
更正错误mysql错误1366:
如果excel文件包含表情等utf8mb4编码的字符,
在utf8编码的表中,如果sql_mode为STRICT_TRANS_TABLES,
会报1366错误。工具将暂时设置sql_mode='',导入后会设回默认值
mysql错误1118:
对于一行数据的总长度,mysql限制为65535,
如果超长,将报1118错误。工具将全部列类型替换为text
定时调度
该工具可以直接在后台以命令行方式运行(无图形界面),因此可以在windows或linux中配置定时任务实现定时运行。
只需添加一个配置文件(config.ini)作为其参数,该工具将通过读取配置文件中的配置自动运行。