在jxl.jar包下把excel内容导入到数据库

package mes;

 

import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.*;
import java.sql.*;
import jxl.Workbook;

import jxl.Sheet;
import jxl.Cell;
//本实例为在jxl.jar包下开发的,下载jxl.jar包并导入到自己的工程中
// 把excel 导入到数据库中Connection con为连接数据库的对象
public class ExceltoResult {
 public static synchronized void createExcelFile(Connection con,String name) throws Exception {
     try{ 
         //name为文件名 直接从本地文件创建Workbook一旦创建了Workbook,我们就可以通过它来访问Excel Sheet(术语:工作表)


         InputStream is = new FileInputStream(name);
        //从输入流创建Workbook
         jxl.Workbook rwb = Workbook.getWorkbook(is);
        //获取第一张Sheet表一旦得到了Sheet,我们就可以通过它来访问Excel Cell(术语:单元格)
        Sheet  rs1 = rwb.getSheet(0);
       
    
    sheettoResult(con,rs1);
              //关闭Excel工作薄对象
      rwb.close();
     }
     catch(Exception e){
      e.getStackTrace();
     }

       }
   //函数为获取单元格的内容
 private static void sheettoResult(Connection con,Sheet sheet)
 throws Exception {
                      //因为第一行是列名,所以内容从第二行开始取。(列名最好对应数据库中相关的字段)
       int row=1;
                    //获得excel中的列的个数
       int columns=sheet.getColumns();
      //获得单元格的行数
       int c=sheet.getRows();
  
     
       Statement stm=con.createStatement();
          while(row<=c){
                          //用列表存放相关的内容
           List list=new LinkedList();
                       //一次按列取相关的值
         for(int i=0;i<columns;i++){
                         //获得单元格对象 下面是第row行,第i列单元格
              Cell cel=sheet.getCell(i,row);
                    //获得单元格中的内容。
              String strc= cel.getContents();
           
               list.add(strc);
            
           }
          相关的sql语句。按自己的需求写
         String sql="insert into t_tg_gatherRecord values(seq_tg_GatherRecord.nextval,"+list.get(0)+","
         +"'"+list.get(1)+"',"+list.get(2)+",sysdate,'"+list.get(3)+"')";
      
         stm.executeUpdate(sql);
         list.clear();
         row++;
      
          }
          stm.close();
         
      
        }
 
 
 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值