java实现excel批量导入数据到数据库mysql


java实现excel到mysql数据的导入实例,包括建表sql,演示用的Excel,注释清晰,如果要使用少量的修改就可以完成自己的功能
资源截图
代码片段和文件信息
package com.dafang;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.TimeZone;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class ExcelOperate {

public static void main(String[] args) throws Exception {
//-----设置开始时间以及时间格式----
SimpleDateFormat sdf = new SimpleDateFormat(“HH:mm:ss:SS“); 
TimeZone t = sdf.getTimeZone(); 
t.setRawOffset(0); 
sdf.setTimeZone(t); 
Long startTime = System.currentTimeMillis(); 

//------连接数据库-------
Connection conn = null;
PreparedStatement pst = null;
try {
//反射机制,创建数据库Driver
Class.forName(“com.mysql.jdbc.Driver“);
System.out.println(“数据库连接成功“);
conn = java.sql.DriverManager.getConnection(  
                “jdbc:MySQL://192.168.1.3:3306/test“ “root“ “root“); //数据库database--testusername--root,password--root 
conn.setAutoCommit(false); 
//Dictionary_Geology -- 表名称 
//数据库第一个字段id--自增长,不用处理
//chinese -- 数据库第二个字段 
//english -- 数据库第三个字段 
//content -- 数据库第四个字段 
pst = (PreparedStatement) conn.prepareStatement(“insert into Dictionary_Geology(chinese english content) values (???)“ );


File file = new File(“excel/new2.xls“);
String[][] result = getData(file 1);
int rowLength = result.length;
System.out.println(result.length);
for (int i = 0; i < rowLength; i++) {
//根据数据库表字段的不同可以做修改
pst.setString(1 result[i][1]);//chinese
pst.setString(2 result[i][2]);//english
pst.setString(3 result[i][3]);//content
pst.addBatch(); //事务整体添加
}
//事务整体提交
pst.executeBatch(); 
conn.commit(); 
System.out.println(“数据库写入成功“); 
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println(“数据库连接失败“);
} catch (SQLException e) {
e.printStackTrace();
}  finally{
//关闭PreparedStatement
if(pst != null) {
pst.close();
pst = null;
}
//关闭Connection
if(conn != null) {
conn.close();
pst = null;
}
}

//-----结束时间------
Long endTime = System.currentTimeMillis(); 
System.out.println(“用时:“ + sdf.format(new Date(endTime - startTime))); 
}

/**
 * 读取Excel的内容,第一维数组存储的是一行中格列的值,二维数组存储的是多少个行
 * 
 * @param file
 *            读取数据的源Excel
 * @param ignoreRows
 *            读取数据忽略的行数,

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-11-19 11:39  Java_Excel_Writer_Mysql
     文件         611  2011-11-19 09:52  Java_Excel_Writer_Mysql.classpath
     文件         395  2011-11-19 11:21  Java_Excel_Writer_Mysql.project
     目录           0  2011-11-19 11:39  Java_Excel_Writer_Mysql.settings
     文件         629  2011-11-19 09:18  Java_Excel_Writer_Mysql.settingsorg.eclipse.jdt.core.prefs
     目录           0  2011-11-19 11:39  Java_Excel_Writer_Mysqlin
     目录           0  2011-11-19 11:39  Java_Excel_Writer_Mysqlincom
     目录           0  2011-11-19 11:39  Java_Excel_Writer_Mysqlincomdafang
     文件        7078  2011-11-19 11:38  Java_Excel_Writer_MysqlincomdafangExcelOperate.class
     目录           0  2011-11-19 11:39  Java_Excel_Writer_Mysqlexcel
     文件       11776  2011-11-19 11:36  Java_Excel_Writer_Mysqlexcel
ew2.xls
     目录           0  2011-11-19 11:39  Java_Excel_Writer_Mysqllib
     文件      767492  2011-11-19 09:51  Java_Excel_Writer_Mysqllibmysql-connector-java-5.1.13-bin.jar
     文件     1083802  2011-11-19 09:18  Java_Excel_Writer_Mysqllibpoi-3.0.1-FINAL-20070705.jar
     文件       59349  2011-11-19 09:18  Java_Excel_Writer_Mysqllibpoi-contrib-3.0.1-FINAL-20070705.jar
     文件      859615  2011-11-19 09:18  Java_Excel_Writer_Mysqllibpoi-scratchpad-3.0.1-FINAL-20070705.jar
     目录           0  2011-11-19 11:39  Java_Excel_Writer_Mysqlsql
     文件         276  2011-11-19 11:39  Java_Excel_Writer_Mysqlsql est.sql
     目录           0  2011-11-19 11:39  Java_Excel_Writer_Mysqlsrc
     目录           0  2011-11-19 11:39  Java_Excel_Writer_Mysqlsrccom
     目录           0  2011-11-19 11:39  Java_Excel_Writer_Mysqlsrccomdafang
     文件        6528  2011-11-19 11:38  Java_Excel_Writer_MysqlsrccomdafangExcelOperate.java

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)