我們在實際工作中的一些時候會需要將excel中的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,如果你的數(shù)據(jù)量成百上千甚至更多,相信一點(diǎn)點(diǎn)ctrlc、ctrlv也不是辦法,這里我們以mysql數(shù)據(jù)庫為例,將excel中的數(shù)據(jù)存入數(shù)據(jù)庫。
我的思路是:先將excel中的數(shù)據(jù)取出來,再把數(shù)據(jù)傳入數(shù)據(jù)庫,操作excel需要jxl.jar,操作數(shù)據(jù)庫可以用最基本的jdbc,需要mysql-connector-java-5.0.8-bin.jar這個jar包。
package browser;
import java.io.File;
import java.sql.*;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
public class PushExcelToMysql {
public static void main(String[] args) throws Exception {
Sheet sheet;
Workbook workbook;
Cell [][] cells=new Cell[3][3];
try{
workbook=Workbook.getWorkbook(new File("E:\\lalala.xls"));
sheet=workbook.getSheet(0);
for(int i=0;i3;i++){
for(int j=0;j3;j++){
cells[i][j]=sheet.getCell(j,i);
}
}
}catch (Exception e) {
e.printStackTrace();
}
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception e){
e.printStackTrace();
}
Connection c=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8", "root","root");
String sql="insert into tosql(name,age,sex) values(?,?,?)";
PreparedStatement ps=c.prepareStatement(sql);
for(int i=0;i3;i++){
ps.setString(1, cells[i][0].getContents());
ps.setString(2, cells[i][1].getContents());
ps.setString(3, cells[i][2].getContents());
ps.execute();
}
System.out.println("ok");
}
}