1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误)
2.代码:

Java代码  
  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import jxl.Cell;
  6. import jxl.Sheet;
  7. import jxl.Workbook;
  8. import jxl.read.biff.BiffException;
  9. /**
  10. * excel数据导入到oracle
  11. * @author sh
  12. * 2010-05-11
  13. */
  14. public class InsertData {
  15. public static void main(String[] args) throws Exception {
  16. InsertData in = new InsertData();
  17. in.insert(“F:/myJob/hah.xls”,“information”);
  18. }
  19. /**
  20. *
  21. * @param path
  22. *            要解析的excel文件路径
  23. * @param dataTable
  24. *            要写入到数据库中的表名
  25. * @throws BiffException
  26. * @throws IOException
  27. */
  28. public void insert(String path,String dataTable) throws BiffException, IOException {
  29. File file = new File(path);
  30. // 创建新的Excel 工作簿
  31. Workbook rwb = null;
  32. rwb = Workbook.getWorkbook(file);
  33. // 得到工作簿中的第一个表索引即为excel下的sheet1,sheet2,sheet3…
  34. Sheet sheet = rwb.getSheets()[0];
  35. int rsColumns = sheet.getColumns();// 列数
  36. int rsRows = sheet.getRows();// 行数
  37. String simNumber = “” ;//每个单元格中的数据
  38. DBUtils jdbc=new DBUtils();
  39. String str=“”;//拼接要插入的列
  40. for (int j = 0; j <rsColumns; j++) {
  41. Cell cell = sheet.getCell(j, 0);
  42. simNumber = cell.getContents();
  43. if(j==rsColumns-1){
  44. str +=  simNumber  ;
  45. }else{
  46. str +=  simNumber+“,”;
  47. }
  48. }
  49. for (int i = 1; i < rsRows; i++) {
  50. String sql = “insert into “+dataTable+“(“+str+“) values(“;//拼接sql
  51. System.out.println(str);
  52. for (int j = 0; j < rsColumns; j++) {
  53. Cell cell = sheet.getCell(j, i);
  54. simNumber = cell.getContents();
  55. if(j==rsColumns-1){
  56. sql += “‘”+ simNumber+“‘” ;
  57. }else{
  58. sql +=“‘”+ simNumber+“‘,”;
  59. }
  60. }
  61. sql += ” )”;
  62. jdbc.executeUpdate(sql);//执行sql
  63. }
  64. jdbc.closeStmt();
  65. jdbc.closeConnection();
  66. }
  67. }

Util类

Java代码  
    1. import java.sql.Connection;
    2. import java.sql.DriverManager;
    3. import java.sql.ResultSet;
    4. import java.sql.SQLException;
    5. import java.sql.Statement;
    6. /**
    7. * Oracle数据库连接
    8. *
    9. * @author sh 2010-05-11
    10. */
    11. public class DBUtils {
    12. private Connection conn = null;
    13. private Statement stmt = null;
    14. private ResultSet rs = null;
    15. /** Oracle数据库连接 URL */
    16. private final static String DB_URL = “jdbc:oracle:thin:@localhost:1521:XE”;
    17. /** Oracle数据库连接驱动 */
    18. private final static String DB_DRIVER = “oracle.jdbc.driver.OracleDriver”;
    19. /** 数据库用户名 */
    20. private final static String DB_USERNAME = “test”;
    21. /** 数据库密码 */
    22. private final static String DB_PASSWORD = “test”;
    23. /**
    24. * 获取数据库连接
    25. *
    26. * @return
    27. */
    28. public Connection getConnection() {
    29. /** 声明Connection连接对象 */
    30. Connection conn = null;
    31. try {
    32. /** 使用 Class.forName()方法自动创建这个驱动程序的实例且自动调用DriverManager来注册它 */
    33. Class.forName(DB_DRIVER);
    34. /** 通过 DriverManager的getConnection()方法获取数据库连接 */
    35. conn = DriverManager
    36. .getConnection(DB_URL, DB_USERNAME, DB_PASSWORD);
    37. stmt = conn.createStatement();
    38. } catch (Exception ex) {
    39. ex.printStackTrace();
    40. }
    41. return conn;
    42. }
    43. /**
    44. * 查询数据部分
    45. *
    46. * @return ResultSet
    47. */
    48. public ResultSet executeQuery(String sqlStr) {
    49. if (sqlStr == null || sqlStr.length() == 0)
    50. return null;
    51. try {
    52. this.getConnection();
    53. rs = stmt.executeQuery(sqlStr);
    54. return rs;
    55. } catch (SQLException ex) {
    56. ex.printStackTrace();
    57. return null;
    58. }
    59. }
    60. /**
    61. * 更新数据部分
    62. *
    63. * @return 更新是否成功
    64. */
    65. public boolean executeUpdate(String sqlStr) {
    66. if (sqlStr == null || sqlStr.length() == 0)
    67. return false;
    68. try {
    69. this.getConnection();
    70. stmt.executeUpdate(sqlStr);
    71. return true;
    72. } catch (SQLException ex) {
    73. ex.printStackTrace();
    74. return false;
    75. } finally {
    76. try {
    77. if (stmt != null) {
    78. stmt.close();
    79. }
    80. } catch (SQLException e) {
    81. e.printStackTrace();
    82. }
    83. try {
    84. if (conn != null) {
    85. conn.close();
    86. }
    87. } catch (SQLException e) {
    88. e.printStackTrace();
    89. }
    90. }
    91. }
    92. public void closeStmt() {
    93. try {
    94. if (stmt != null) {
    95. stmt.close();
    96. }
    97. } catch (Exception e) {
    98. e.printStackTrace();
    99. }
    100. }
    101. /**
    102. * 关闭数据库连接
    103. *
    104. * @param connect
    105. */
    106. public void closeConnection() {
    107. try {
    108. if (conn != null) {
    109. /** 判断当前连接连接对象如果没有被关闭就调用关闭方法 */
    110. if (!conn.isClosed()) {
    111. conn.close();
    112. }
    113. }
    114. } catch (Exception ex) {
    115. ex.printStackTrace();
    116. }
    117. }
    118. }

Java代码实现excel数据导入到Oracle的更多相关文章

  1. Access中一句查询代码实现Excel数据导入导出

    摘 要:用一句查询代码,写到vba中实现Excel数据导入导出,也可把引号中的SQL语句直接放到查询分析器中执行正 文: 导入数据(导入数据时第一行必须是字段名): DoCmd.RunSQL &quo ...

  2. Excel数据导入到oracle

    打开pl/sql,如图所示界面,点击菜单栏中的T00LS     ODBC Imtorper,打开ODBC Importer选项框       在Data fromODBC页中选择需要导入的文件的格式 ...

  3. Java:将Excel数据导入到数据库(一眼就看会)

    所用Jar包 1. sqljdbc4.jar 连接数据库的Jar包(根据数据库的不同进行选择,我用的SqlServer2008) 2.Jxl.jar 访问Excel的Jar包 注意:支持以.xls结尾 ...

  4. 用代码将Excel数据导入Sql Server

    这里直接用小例子说明. 1.打开VS2010—>文件—>新建—>网站,选择ASP.NET空网站并设置存放路径以创建空网站.(我这里路径设置为D:\excelEduceToSql) 2 ...

  5. 代码执行批量Excel数据导入Oracle数据库

    由于基于Oracle数据库上做开发,因此常常会需要把大量的Excel数据导入到Oracle数据库中,其实如果从事SqlServer数据库的开发,那么思路也是一样的,本文主要介绍如何导入Excel数据进 ...

  6. 批量Excel数据导入Oracle数据库

    由于一直基于Oracle数据库上做开发,因此常常会需要把大量的Excel数据导入到Oracle数据库中,其实如果从事SqlServer数据库的开发,那么思路也是一样的,本文主要介绍如何导入Excel数 ...

  7. java实现EXCEL数据导入到数据库中的格式问题的解决

    之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. ...

  8. kettle将Excel数据导入oracle

    导读 Excel数据导入Oracle数据库的方法: 1.使用PL SQL 工具附带的功能,效率比较低 可参考这篇文章的介绍:http://www.2cto.com/database/201212/17 ...

  9. 利用TOAD实现把EXCEL数据导入oracle数据库

    利用TOAD实现把EXCEL数据导入oracle数据库 工具:   Toad11.7z(百度搜索,直接下载) 1.将Excel文件中某些字段导入到Oracle数据库的对应表 连接想要导入的数据库 ,然 ...

随机推荐

  1. git rebase简介(基本篇)

    原文: http://gitbook.liuhui998.com/4_2.html 一.基本 git rebase用于把一个分支的修改合并到当前分支. 假设你现在基于远程分支"origin& ...

  2. CRC在线计算器

    On-line CRC calculation and free library   https://www.lammertbies.nl/comm/info/crc-calculation.html

  3. yum安装所需要的开发库

    yum groupinstall "Development tools" -y yum install zlib-devel bzip2-devel openssl-devel n ...

  4. IDEA 编译时报错 “未结束的字符串文字” “解析时已经达到文件结尾”

    Information:Using javac 1.7.0_75 to compile java sourcesInformation:java: Errors occurred while comp ...

  5. php在没用xdebug等调试工具的情况下如何让调试内容优雅地展现出来?--php数组格式化

    不知道各位猿猿们有没有碰到过类似的情况.装的PHP环境没有xdebug,而又经常用到数组.调试的时候也需要经常查看数组的结构和字段内容,用var_dump打印出来的数组内容总是杂乱无章.实在无法忍受, ...

  6. net use与shutdown配合使用,本机重启远程服务器

    net use与shutdown配合使用,本机重启远程服务器   今天服务器出现问题了,能ping通,但就是远程登录服务器后,服务器无法响应.   在本机测试发现ftp服务可以使用,于是就想通过ftp ...

  7. python pexpect 学习与探索

    pexpect是python交互模块,有两种使用方法,一种是函数:run另外一种是spawn类 1.pexpect  module 安装 pexpect属于第三方的,所以需要安装, 目前的版本是 3. ...

  8. Java for LeetCode 207 Course Schedule【Medium】

    There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses may have prer ...

  9. C++ string和wstring互转实现

    [转载] http://www.cppblog.com/kenwell/archive/2008/05/21/50661.html  很好,很强大,用到就是赚到! 代码如下: #include < ...

  10. 我刚知道的WAP app中meta的属性(转载)

    之前我一直做的都是WEB前端开发,来北京以后面试了一个移动前端开发,WAP前端开发. 其实在原来公司的时候也做过这方面的开发,可面试的时候面试官问我,要想强制让文档与设备的宽度保持1:1,mate标签 ...