jxl导入excle到oracle

34 篇文章 0 订阅
本文介绍了一种使用Java将Excel文件中的数据加载到Oracle数据库的方法。通过解析Excel表格并逐条插入到指定的数据表中,实现了批量数据导入的功能。文章详细展示了代码实现过程,包括Excel文件读取、数据解析及数据库操作。
摘要由CSDN通过智能技术生成

package com.wonders.tjj.macro.web.action.importdatautil;

import java.io.File;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

public class LoadExcelToOracle {

 /**
  * @param args
  */
 public List loadExcel() {
  List list = new ArrayList();
  try {
   int ROW_HEAD_COUNT = 1; //Excel中表头所占的行数
   int COLUMN_HEAD_COUNT = 0;//Excel中表头所占的列数
   Workbook book = Workbook.getWorkbook(new File(
     "f:/code_info.xls"));
   Sheet sheet = book.getSheet(0);
   int rowCount = sheet.getRows();//  得到行数  
   int columnCount = sheet.getColumns();//  得到列数

   //添加或更新数据
   for (int row = ROW_HEAD_COUNT; row < rowCount; row++) {
    Cell cell = sheet.getCell(COLUMN_HEAD_COUNT, row);
    List excelDateList = new ArrayList();
    //从第1栏开始读取数据
    for (int column = COLUMN_HEAD_COUNT; column < columnCount; column++) {
     cell = sheet.getCell(column, row);
     String strData = null;
     if (cell != null && cell.getContents() != null
       && cell.getContents().length() > 0) {
      strData = cell.getContents();
     }
     excelDateList.add(strData);
    }
    list.add(excelDateList);
   }
   book.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
  return list;
 }

 /**
  * @param list
  */
 public void saveCodeInfo(List list) {
  try {
   Connection con = DBHelper.getConnection();
   String sql = "insert into YDK_CODE_INFO values (?,?,?,?,?,?,?)";
   PreparedStatement ps = con.prepareStatement(sql);
   int count = 1;
   int closeCon = 1;
   for (int j = 0; j < list.size(); j++) {
    List excelDateList = (List) list.get(j);
    for (int i = 0; i < excelDateList.size(); i++) {
     if (count == 8) {
      count = 1;
     }
     ps.setObject(count, excelDateList.get(i));
     count++;
    }
    closeCon++;
    ps.executeQuery();
    System.out.println("插入成功");
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }

 }

 public static void main(String[] args) {
  LoadExcelToOracle leto = new LoadExcelToOracle();
  List list = leto.loadExcel();
  leto.saveCodeInfo(list);
 }

}

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值