如何将excel中的数据导入到数据库

来源:互联网 发布:淘宝刀具规则 编辑:程序博客网 时间:2024/05/19 23:29

本文转自http://blog.csdn.net/qq_34092336/article/details/77844658

欢迎大家访问原博并点赞。



我们在实际工作中的一些时候会需要将excel中的数据导入数据库,如果你的数据量成百上千甚至更多,相信一点点ctrlc、ctrlv也不是办法,这里我们以mysql数据库为例,将excel中的数据存入数据库。



我的思路是:先将excel中的数据取出来,再把数据传入数据库,操作excel需要jxl.jar,操作数据库可以用最基本的jdbc,需要mysql-connector-java-5.0.8-bin.jar这个jar包。

下面我们先看一下excel截图:


再来看最后的效果图:

下面贴出整个代码:
[html] view plain copy
  1. package browser;  
  2.   
  3. import java.io.File;  
  4. import java.sql.*;  
  5. import jxl.Cell;  
  6. import jxl.Sheet;  
  7. import jxl.Workbook;  
  8.   
  9. public class PushExcelToMysql {  
  10.     public static void main(String[] args) throws Exception {  
  11.           
  12.         Sheet sheet;  
  13.         Workbook workbook;  
  14.         Cell [][] cells=new Cell[3][3];  
  15.         try{  
  16.             workbook=Workbook.getWorkbook(new File("E:\\lalala.xls"));  
  17.             sheet=workbook.getSheet(0);  
  18.             for(int i=0;i<3;i++){  
  19.                 for(int j=0;j<3;j++){  
  20.                     cells[i][j]=sheet.getCell(j,i);  
  21.                 }  
  22.             }         
  23.         }catch (Exception e) {  
  24.             e.printStackTrace();  
  25.         }  
  26.           
  27.         try{  
  28.             Class.forName("com.mysql.jdbc.Driver");           
  29.         }catch(Exception e){  
  30.             e.printStackTrace();  
  31.         }  
  32.         Connection c=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8", "root","root");  
  33.         String sql="insert into tosql(name,age,sex) values(?,?,?)";  
  34.         PreparedStatement ps=c.prepareStatement(sql);  
  35.         for(int i=0;i<3;i++){  
  36.             ps.setString(1, cells[i][0].getContents());  
  37.             ps.setString(2, cells[i][1].getContents());  
  38.             ps.setString(3, cells[i][2].getContents());  
  39.             ps.execute();  
  40.         }  
  41.         System.out.println("ok");  
  42.     }  
  43. }  

有任何问题,欢迎交流。