本实例做的是读取execl(只能读取.xls的execl,即只能读取03版的),如果是.xlsx类型的话 手工转化一下即可,应用的jar包是apache的poi系类的jar包和ojdbc14.jar的数据库连接包。

poi的jar报的官方下载地址:http://poi.apache.org/

还需要说明是对execl的读取java可以通过横坐标和纵坐标读取到execl的每个单元格,

根据个人情况看需要读取execl表格中的那些内容,下面这个代码是通用的读取execl的代码

for (int numSheet = 0; numSheet < workBook.getNumberOfSheets(); numSheet++) {Sheet sheet = workBook.getSheetAt(numSheet);if (sheet == null) {continue;}// 循环行Rowfor (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) {Row row = sheet.getRow(rowNum);if (row == null) {continue;}// 循环列CellArrayList<String> arrCell =new ArrayList<String>();for (int cellNum = 0; cellNum <= row.getLastCellNum(); cellNum++) {Cell cell = row.getCell(cellNum);if (cell == null) {continue;}publicExcel(cell); //publicExcel是下文中execl数据格式的转换,返回值即每个单元格的值                      }}}

一个完整的事例类

public class ExeclOperate {public static void main(String[] args) throws Exception {ExeclOperate e=new ExeclOperate();e.getExcel();System.out.println("导入完成!");}/*** 用于连接oracle数据库的方法* 只需修改中的参数getConnection("url","用户名","密码");*/public Connection conn(){try {//第一步:加载JDBC驱动Class.forName("oracle.jdbc.driver.OracleDriver");//第二步:创建数据库连接Connection con =DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.156:1521:tianjiao", "E5AVPS", "E5AVPS");return con;}catch(ClassNotFoundException cnf){System.out.println("driver not find:"+cnf);return null;}catch(SQLException sqle){System.out.println("can't connection db:"+sqle);return null;}catch (Exception e) {System.out.println("Failed to load JDBC/ODBC driver.");return null;}}/*** “95509”咨询清单  的读取* @throws Exception*/public void getExcel() throws Exception {// 创建对Excel工作簿文件的引用       HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream("D:\\1.xls"));      // 创建对工作表的引用。// 在Excel文档中,第一张工作表的缺省索引是0,// 读取左上端单元for (int i = 0; i < workbook.getNumberOfSheets(); i++) {// 循环sheetif(workbook.getSheetAt(i).getPhysicalNumberOfRows()>0){HSSFSheet childSheet = workbook.getSheetAt(i);for(int rowi=1;rowi<400000;rowi++){//System.out.println(childSheet.getRow(rowi).getCell(1).equals(""));if(childSheet.getRow(rowi).getCell(0).equals("") || childSheet.getRow(rowi).getCell(0)==null) break;String cell1=this.publicExcel(childSheet.getRow(rowi).getCell(0));if(cell1==null) break;//对于double类型的数据装换为string类型进行字符串截取 只取整数。cell1=cell1.substring(0, cell1.length()-2);String cell2=this.publicExcel(childSheet.getRow(rowi).getCell(1));String cell3=this.publicExcel(childSheet.getRow(rowi).getCell(2));String cell4=this.publicExcel(childSheet.getRow(rowi).getCell(3));String cell5=this.publicExcel(childSheet.getRow(rowi).getCell(4));String cell6=this.publicExcel(childSheet.getRow(rowi).getCell(5));cell6=cell6.substring(0, cell6.length()-2);//拼装插入数据库的sql  String insert="insert into w_95509 values('"+cell1+"','"+cell2+"','"+cell3+"','"+cell4+"','"+cell5+"','"+cell6+"')";System.out.println("SQL:"+insert);insert(insert);}    }}}/*** execl数据格式的转换* @param cell* @return*/public String publicExcel( HSSFCell cell){String value = null;       switch (cell.getCellType()) {case HSSFCell.CELL_TYPE_NUMERIC:value = "" + cell.getNumericCellValue();break;case HSSFCell.CELL_TYPE_STRING:value = cell.getStringCellValue();break;case HSSFCell.CELL_TYPE_BLANK:;break;default: }return value;}/*** 插入数据 只需要传入插入sql即可* 插入sql的样例:insert into t_department values('D004','金融部');* @param insert 插入语句* @return* @throws SQLException */public int insert(String insert) throws SQLException{Connection conn = this.conn();int re = 0;try{conn.setAutoCommit(false);//事物开始                Statement sm = conn.createStatement();re = sm.executeUpdate(insert);if(re < 0){               //插入失败conn.rollback();      //回滚sm.close();conn.close();  return re;}conn.commit();            //插入正常sm.close();conn.close();  return re;}catch(Exception e){e.printStackTrace();}conn.close();  return 0;} }

JAVA读取excel数据(插入oracle数据库)相关推荐

  1. java读取excel数据保存到数据库中_java读取excel的内容(可保存到数据库中)

    //** poi jar包 // public classReadExcel { @SuppressWarnings("static-access")private staticS ...

  2. mysql外部表不是预期格式_批量Excel数据导入Oracle数据库 导入excel错误:外部表不是预期的格式 解决方案...

    在asp.net网站中导出Excel文件后,再把文件导入到数据库中. 读取Excel文件时,打开连接出错. 错误为:外部表不是预期的格式 解决:检查了一下,导出的Excel是标准文件不是html,没错 ...

  3. 项目实战 Java读取Excel数据

    项目实战 Java读取Excel数据 前言 实现步骤 导入POI依赖 示例Excel表结构 编写读取Excel工具类 实现思路 读取Excel数据工具类实现代码 取出从excel中获取的数据,并插入到 ...

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

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

  5. JAVA读取Excel表格,建数据库建表,并生成java实体实例

    转自:https://blog.csdn.net/wuyongde_0922/article/details/43233413 JAVA读取Excel表格,建数据库建表,并生成java实体实例,这一篇 ...

  6. Java读取Excel数据:基于Apache POI(一)

    Java读取Excel数据:基于Apache POI(一) Java本身不支持直接读取微软的Excel表格数据.第三方的Apache提供了一个库POI用以支持Java读写Excel表格数据. 首先需要 ...

  7. JAVA读取Excel数据

    JAVA读取Excel数据 下载 jxl.jar 导入jxl.jar 读取程序 写入Excel 写入txt 下载 jxl.jar 找到一个博主发的,下载好后去掉.zip后缀 jxl.jar下载 - 天 ...

  8. java读取Excel文档 + 存入数据库

    序 在做项目的时候,我们有时想要读取Excel类型的文档,把表格里面的数据进行处理,比如把成绩Excel文档存储到数据库对应的表.而这时却不知道该如何操作,接下来我将讲解这个流程.以下面的数据为例 总 ...

  9. java 读取Excel数据(POI)(一个sheet或者多个sheet)

    1.添加依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml< ...

最新文章

  1. [亲测]在Mac下配置php开发环境:Apache+php+MySql
  2. Java线程调度yield与join
  3. 处理Matlab Coder之后, Compiler can't find tmwtypes.h问题
  4. Python之路【第七篇】:初识Socket
  5. JS----深拷贝和浅拷贝
  6. 15个实用的grep示例
  7. 蓝桥杯2017初赛-分巧克力-二分
  8. 08 Spring框架 AOP (一)
  9. Linux samba的配置和使用
  10. linux 关闭桌面环境,Ubuntu 14.04上的Cinnamon桌面环境PPA被关闭
  11. Halcon的应用程序 打开后 弹出没有帮助文件错误提示
  12. magento 架构原理
  13. “进度条”博客——第十三周
  14. 配置Spring.NET
  15. python的requests的使用
  16. linux mysql 5.7.10_CentOS7 安装 MySQL 5.7.10
  17. 深度学习啃“花书”指南
  18. 软件测试——测试分类及测试工具的简介
  19. 贴片钽电容封装及规格参数资料
  20. 如何破解域管理员密码

热门文章

  1. 开发人员谈测试:做好软件测试才能提升应用质量
  2. 前端:表单以及BFC详解
  3. vue动态路由和路由懒加载
  4. VUE动态路由下刷新丢失路由的解决方法
  5. BAT程序员 最强面试技巧
  6. 音量调节物理按键及音频焦点之AudioManager
  7. 网站根目录下没有正确的DNT.config文件 (不同类型错误更新中)
  8. wordpress中强大的query posts 用法
  9. mybatis拦截器(一)
  10. 计算机视觉入门-梯度、算子、Canny边缘检测、非极大值抑制、双门限法