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

简介

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

工具特色:

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

典型使用场景:

场景一:一键导入excel到数据库
场景二:多个excel文件批量导入到数据库
场景三:合并多个excel文件数据
场景四:定时导入excel到数据库
场景五:实时同步刷新excel数据到数据库

程序下载

  • SourceForge下载

使用方法:

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

支持环境

  • 操作系统:Windows7+
  • 数据库:MySQL/Oracle/SQLServer
  • Excel:xls/xlsx/xlsm/csv

菜单

语言:

  • 中文
  • 英文

数据库: 点击数据库类型进行切换

  • MySQL
  • Oracle
  • SQLServer

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

选项介绍:

常规:

Excel:

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

MySQL/Oracle/SQL Server连接:

填入目标数据库的连接信息。
主机:本地数据库填写localhost,远程数据库填写其所在服务器IP地址
端口:mysql默认3306,oracle默认1521,sql server默认1433
用户:
密码:

模式:

覆盖模式:工具将根据excel文件在数据库创建全新的表(如果表已存在,将被覆盖),并将数据导入其中。
追加模式:工具仅将数据导入到数据库表(数据库表需要已存在)。该模式下,工具通过excel的表名+列名与数据库里的表名+列名进行匹配,将匹配上的列数据导入匹配上的表,如果存在未匹配上的列,这些列的数据将被忽略。
合并模式:通过excel数据与数据库表的主键列数据进行对比,进行有则更新,无则插入的操作。

高级:

遍历子目录

若选择,工具将遍历所选目录及其子目录下所有excel文件

只导入最近更新的文件

若选择,工具将只导入该目录下,上此导入后文件有更新的excel文件

CSV文件编码:

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

指定列名所在行数:

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

数据开始行数:

数据开始行数,默认为2

将这些值替换为null:

对于常见的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)作为其参数即可,工具通过读取该配置文件里面的配置自动运行。

  • ExcelToDatabase.exe D:/config.ini
    详细使用教程:定时导入excel到数据库

ExcelToOracle:批量导入Excel文件到Oracle数据库的自动化工具相关推荐

  1. ExcelToMySQL-批量导入Excel文件到MySQL数据库的自动化工具

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

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

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

  3. java操作mysql导表_Java实现批量导入excel表格数据到数据库中的方法

    本文实例讲述了Java实现批量导入excel表格数据到数据库中的方法.分享给大家供大家参考,具体如下: 1.创建导入抽象类 package com.gcloud.common.excel; impor ...

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

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

  5. 导入EXCEL文件数据到数据库中

    controller层代码 /*** 批量导入*/ @RequestMapping("/file") @ApiOperation(value = "批量导入人员信息&qu ...

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

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

  7. php mysql导入excel_如何从PHP导入Excel文件到mysql数据库

    让我们说, 我想从 PHP导入/上传excel文件到mysql 我的HTML如下 File Upload Only Excel/CSV File Import. Upload PHP代码如下 if(i ...

  8. R语言批量导入Excel文件并按表分类汇总

    需求:有n个Excel文件,每个文件包含表的数量不等,但全部表都有表名,并是根据同一的规范命名,比如与悟空有关的数据,存放在<悟空>表中,现在需要按表名对所有数据分类汇总 library( ...

  9. 姓名大全 导入mysql_根据项目类型导入Excel文件到不同数据库(示例代码)

    前提:如果您要针对不同的业务做数据导入,可以参考下这个项目,这个项目的原理就是根据文件名进行区分,然后导入不同的数据表.下面我就写个Demo演示下: 学生表 -- 主键,学生姓名,学生年龄,学校归属 ...

最新文章

  1. 【经验分享】如何优雅的在 Microsoft word中插入代码
  2. 搭建Ubuntu18.04+Anaconda3.x+Pycharm+SimpleITK(二)
  3. larval mysql 查询转数组_laravel 中将DB::select 得到的内容转为数组
  4. hadoop本地模式部署_hadoop启动模式、基本配置、启动方式
  5. CSS3的flex布局:方向 换行 对齐 顺序
  6. java write int,void write(byte[] b, int off, int len)
  7. [MySQL基础]数据库的相关概念
  8. akka kafka java_当使用websocket连接时,使用akka-stream-kafka从kafka主题获取最后一条消息...
  9. dz3.0数据库操作函数分析说明
  10. css命中与jquery命中
  11. UVA10838 The Pawn Chess
  12. Modbus_TCP 报文格式解析
  13. 大学一年级计算机科学与技术,计算机科学与技术系授课计划及课程表一年级.pdf...
  14. 图文并茂说明Linux启动流程
  15. 短信验证码开发教程 - 4.后端篇
  16. IP和网段的计算方法
  17. NPDP产品经理证书(2019年04月),NPDP是IBM和华为的IPD的祖师爷。IPD学不到,NPDP还是可以学到的。...
  18. 知物由学 | Android应用破解与防护,阻断猖獗的应用乱象
  19. 炒股杠杆-AI量化交易
  20. weblogic10.3压测BEA-000449的调整

热门文章

  1. 《流浪地球》后续,深度对话刘慈欣:地球只是太空中的一粒尘埃
  2. 指针篇之一 宝藏与藏宝图
  3. camel发布多个服务
  4. python爬虫某招聘数据进行可视化
  5. postman 9.16 打不开怎么办
  6. 【Qcom Camera】微距eeprom调试
  7. leetcode-数据结构-566. 重塑矩阵
  8. excel一个表格分成多个怎么做?
  9. 未连接到互联网代理服务器出现问题,或者地址有误,该如何解决?
  10. 记一个跟阿里的朋友喝酒的周末-20211201