ExcelToSQLServer-批量导入Excel文件到SQL Server数据库

简介

ExcelToSQLServer 是一个可以批量导入excel到数据库(mysql/oracle/sqlserver/hive)的自动化工具。自动化是其最大的特点,因为它可以根据excel自动导入数据到数据库而不需要做任何映射。批量是它另一个特点,因为可以做到自动化,所以你可以一次性导入成百上千张表而不是一个一个导。

工具特色:

自动:工具可以根据excel自动创建表并导入数据,或者根据excel与数据库的自动映射追加/更新数据
批量: 通常你只能用其他工具一个一个手动导入excel到数据库,但是现在,你可以一次性导入成百上千张表
简单: 只需要提供excel文件位置和目标数据库连接信息,工具就能开始工作直到excel全部被导入
快捷:最快的解决方案,没有之一
智能:你是否手动导入时经常遇到错误?不要担心!工具可以轻松避免或者自动纠正。
高级: 丰富的自定义选项,可以帮助你完成更多私人定制功能
定时: 可以搭配windows计划任务程序或者linux,实现定时调度,自动化不是梦

资源获取

开源代码:Github
可执行程序:下载可以在windows(ExcelToDatabase.exe)或者linux(ExcelToDatabase.tar.gz)上可以直接运行的可执行程序。
下载方式:

  • 点击下载

获取帮助/意见反馈

Email:2577154121@qq.com
V:x9527bo

使用方法:

启动程序
Windows: 点击ExcelToDatabase.exe
Linux: ./ExcelToDatabase
选择excel并填入数据库信息
常规界面选择excel文件目录,填入目标数据库连接信息,选择导入模式
点击开始

支持环境

  • Windows/Linux
  • MySQL/Oracle/SQLServer/Hive
  • Excel(xls,xlsx,xlsm,csv)

菜单

语言:

  • 中文
  • 英文

数据库:

  • MySQL
  • Oracle
  • SQLServer
  • Hive

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

选项介绍:

常规:

Excel:

选择目录或者文件作为数据源

MySQL/Oracle/SQL Server/Hive连接:

填入目标数据库的连接信息

模式:

覆盖模式:在导入一张excel表前,工具将先删除跟excel同名的表(如果存在),再创建数据库表并导入数据。
追加模式:工具将直接将数据导入到同名的数据库表(数据库表需要已存在)。该模式下,工具通过excel的表名+列名与数据库里的表名+列名进行匹配,工具将匹配的列数据导入匹配上的表,如果存在未匹配上的列,这些列的数据将被忽略。
合并模式:通过excel数据与数据库表的主键对比,进行存在先删除,再插入的操作。

高级:

CSV文件编码:

默认为AUTO,表示工具自动探测,如果能确定所有CSV文件编码,
你可以指定(可选择和输入)以提高效率

将这些值替换为null:

对于常见的excel错误单元格或者某特定的值,填入以逗号分隔,将被替换为null

为创建的表名添加前缀:

可以为工具创建的表名指定前缀,以示区分

将所有数据追加到表:

将导入的数据都追加到指定的某个已存在的表(仅追加模式有效)

指定列名所在行数:

指定将第几行作为列名,第一行从1开始,默认为1

数据开始行:

数据开始行数,默认为2

删除空行:

如选择,工具将删除所有空行

去除字符前后空格:

若选择,工具将去除字符前后空格

跳过空表:

若选择,如果表格没有数据,工具将不会创建数据库表

添加一列值为表名

若选择,工具将添加一列,其值为表名

遍历子目录

若选择,工具将遍历所选目录及其子目录下所有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)作为其参数即可,工具通过读取该配置文件里面的配置自动运行。

  • Windows: ExcelToDatabase.exe D:/config.ini
  • Linux: ./ExcelToDatabase /home/ryjfgjl/config.ini

获取帮助

Email:2577154121@qq.com

ExcelToSQLServer-批量导入Excel文件到SQL Server数据库相关推荐

  1. 【总结】C#上传excel文件到Sql server数据库

    工具 :  VS2015 + SQL Server 2008 R2 框架:三层+一般处理程序 方法:方法很多种,百度千奇百怪,总结下来更好更快的方法,以下会提到 最近接触到需要实现将一个excel表格 ...

  2. 快速批量导入庞大数据到SQL SERVER数据库(ADO.NET)

    原文地址:http://www.cnblogs.com/chenxizhang/archive/2008/11/11/1331060.html 如果你需要在程序中批量插入成千上万行的数据,你会怎么编写 ...

  3. ExcelToOracle:批量导入Excel文件到Oracle数据库的自动化工具

    ExcelToOracle:批量导入Excel文件到Oracle数据库的自动化工具 简介 ExcelToOracle 是一个可以批量导入excel到数据库(mysql/oracle/sqlserver ...

  4. python打开excel数据库_使用python导入excel文件中的mssql数据库数据

    我试图用python导入excel文件中的mssql数据库数据.我的数据在excel表格中的顺序不正确.e. g它显示第1列数据,然后是第3列,第2列,然后是第4列,依此类推. 我使用以下脚本:imp ...

  5. 快速附加没有日志文件的 SQL Server 数据库文件!

    快速附加没有日志文件的 SQL Server 数据库文件: 1 CREATE DATABASE [数据库名称] 2 ON (FILENAME = '数据库文件路径和文件名(如:D:\db\mydb.m ...

  6. ExcelToDatabase:批量导入Excel文件到MySQL/Oracle/SQL Server数据库的自动化工具

    ExcelToDatabase:批量导入Excel到MySQL/Oracle/SQL Server数据库的自动化工具 简介 ExcelToDatabase 是一个可以批量导入excel到mysql/o ...

  7. bdm导入mysql_dblink insert 远程SQL Server数据库是报ORA-02063错误

    这两天在做一个项目的接口,需要将大量的数据从Oracle数据库上传到一个SQL SERVER 2005的数据库,我采用通过透明网关的方式解决. dblink建好后,检索SQL SERVER 2005上 ...

  8. 实例讲解用.NET技术将Excel表格中的数据导入到特定的SQL Server数据库中

    由于管理需要,公司决定上一套信息管理系统,将原来的用Excel所做的记录用管理系统来管理.通过努力,我终于作了一套类似<牛腩新闻发布系统>的客户信息管理系统.可原来的Excel中的数据该如 ...

  9. JAVA编码(27)——执行批量导入Excel文件并进行解析

    1.建立web工程引入jar包:commons-fileupload.jarcommons-lang-1.0.1.jarjspsmartupload.jarpoi-2.5-final-20040302 ...

  10. Python批量导入Excel文件中的不重复数据到SQLite数据库

    封面图片:<Python可以这样学>,董付国,清华大学出版社 ============== 好消息:智慧树网APP"知到"中搜索"董付国"可以免费观 ...

最新文章

  1. Spring Boot项目错误:Error parsing lifecycle processing instructions
  2. 某程序员吐槽清华北大不值钱了!过去清北毕业生去企业上班就是丢人现眼!现在互联网基层员工一堆清北人!清北怎么混成这样了?...
  3. python之拆包与装包
  4. tnsnames.ora无法保存的问题
  5. 哈尔滨__伏尔加庄园
  6. python3命令记忆技巧_Python3学习笔记-回忆并复述是加强记忆的好方式!
  7. MySQL之事务隔离级别--转载
  8. 朋友圈玩分身术!逼死用户的节奏?
  9. 2018.3,GC可控了
  10. Python with open() as 读写文件
  11. mysql tuning primer_mysql检测工具tuning-primer.sh
  12. SPOJ 375 Query on a tree(线段树维护树链剖分)
  13. 深入浅出JS的对象属性
  14. linux环境ubuntu: pushd: not found
  15. 单片机控制12864显示多行汉字(含PROTEUS仿真文件、程序和字模提取软件)
  16. JS通过WebSocket实现双屏信息同步显示
  17. 【深度学习】 图像识别实战 102鲜花分类(flower 102)实战案例
  18. SQL-SELECT 语句,From子句,where条件查询
  19. pdf文件旋转后怎么完整保存
  20. SQL语句中case、when、then的使用

热门文章

  1. 计算机学院边浩东,热烈祝贺建设信息工程系学生在“新华三杯”全国大学生数字技术大赛上取得优异成绩...
  2. 锐捷Linux认证失败,如何解决win10系统锐捷认证失败?锐捷认证失败的解决方法步骤...
  3. 数据库系统概论速成?
  4. 进销存软件管理系统排名(最新版)
  5. windows 常用自由、开源、免费软件(不断更新)
  6. sql 数据库恢复挂起
  7. 新中大财务软件V5.08安装
  8. 计算机电子表操作格试题,全国计算机等级考试四Excel电子表格操作试题
  9. 内控堡垒机:内网安全威胁的“终结者”
  10. Java -- Thread中start和run方法的区别