jdbc读取excel

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Iterator;

import com.perssoft.common.tool.EncryptUtil;
import com.perssoft.common.tool.PinYinUtil;
import com.perssoft.plugin.activerecord.Db;
import com.perssoft.plugin.activerecord.Record;

public class ImportData {

	/**
	 * @param args
	 */

	public static void main(String[] args) {

        	try
			{
        		String filepath="C://机构表//测试.xls";
			    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			    Connection con=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ="+filepath,"","");
			    String strq = "select * from [Sheet1$] where 1=1 ";
			    PreparedStatement ps = con.prepareStatement(strq);
			    ResultSet rs = ps.executeQuery();

			    ResultSetMetaData rsmd = rs.getMetaData();
			    ArrayList<String> templist=new ArrayList<String>();
			    int i=rsmd.getColumnCount();
			    for (int j = 1; j < i+1; j++) {
			    	templist.add(rsmd.getColumnName(j));

				}

			    String deptname="";
			    int ordernum=1;
			    while (rs.next())
			    {
			    	String unitname = rs.getString(templist.get(0));
			    	String chuji = rs.getString(templist.get(1));
			    	String keji = rs.getString(templist.get(2));
			    	String name = rs.getString(templist.get(3));
			    	String remark = rs.getString(templist.get(4));
			    	String deptid = rs.getString(templist.get(5));

			    	System.out.println(unitname+"   "+chuji+"  "+keji+"  "+name+"  "+remark+"  "+deptid);

			    	//保存部门和个人信息

			    	//查询是否存在该人
			     	Connection conn = getConnection();
					Statement stmt = conn.createStatement();
					ResultSet rs1 = stmt.executeQuery("select * from xt_admin  where name =‘"+name.toString()+"‘ and isdelete=0 ");
					if(rs1.next()){
						System.out.println("存在重名者:"+name +" ID:"+rs1.getBigDecimal(1));
						stmt.close();
						rs1.close();
						conn.close();
						continue;
					}else{//不存在

						 String sql="insert into XX(ID,LOGINNAME,NAME,PASSWORD,STATE)values(S_ADMIN.nextval)";

                         System.out.println(sql);
                         Statement statament =conn.createStatement();
                         statament.executeUpdate(sql);
                         statament.close();

					}
					stmt.close();
					rs1.close();
					conn.close();

			    }

			    con.close();			       				     

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static Integer save(String sql) throws Exception{
		// 采用Statement进行查询
		Connection conn = getConnection();
		PreparedStatement pstmt=null;
		pstmt=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
		pstmt.executeUpdate();
		ResultSet rs=pstmt.getGeneratedKeys();
		Integer key=null;
		if (rs.next()) {
			 key= rs.getInt(1);
		}
		rs.close();
		pstmt.close();
		conn.close();
		return key;
	}

	public static Connection getConnection() throws Exception {
		// 定义了数据库连接串
		String dbUrl = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
		// 数据库的用户名
		String user = "oa";
		// 数据库的用户口令
		String password = "123";
		// 加载jdbc-odbc bridge驱动程序
		Class.forName("oracle.jdbc.driver.OracleDriver");
		// 与url指定的数据源建立连接
		Connection c = DriverManager.getConnection(dbUrl, user, password);
		return c;
	}
}

  

时间: 2024-07-30 14:09:09

jdbc读取excel的相关文章

java无依赖读取Excel文件

说到Java读取Excel文件,用得多的当然是POI或jxls,但今天在看一本书的时候.当中提到使用JdbcOdbcDriver这个驱动类在不依赖第三方库的情况下也能够完毕对Excel文件的读取操作,网上搜了一下原因然后自己写了个样例跑通了,在此记录一下. Java读取数据库大家都非常熟悉,须要一个数据源与对应的驱动.开发人员通过JDBC操作驱动.驱动再去操作数据库.那么Java读取Excel文件也是类似的.在Windows系统中,能够将一个Excel文件注冊为一个ODBC数据源,注冊过程为:

Java编程:使用Java读取Excel文件内容

微软的ODBC驱动程序把工作表中的第一行作为列名(译者注:即字段名),工作表名作为数据库表名. 要通过JDBC访问工作表,我们还必须创建一个新的ODBC数据源,在Windows 2000系统上创建数据源的过程如下: 进入“控制面板” --> “管理工具” --> “数据源(ODBC)”,(译者注:打开后选择系统DSN),点击添加,在弹出窗口中选择“Driver do Microsoft Excel(*.xls)” 然后在数据源名处输入一个名字myexcel(译者注:相当于数据库名),然后点击“

java的poi技术读取Excel数据到MySQL

这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中. 你也可以在 : java的poi技术读取和导入Excel了解到写入Excel的方法信息 使用JXL技术可以在 :java的jxl技术导入Excel  项目结构: Excel中的测试数据: 数据库结构: 对应的SQL: 1 CREATE TABLE `student_info` ( 2 `id` int(11) NOT NULL AUTO_INCREMENT, 3 `no` varchar(20) DEFAU

python读取excel数据

excel是很常用的表格工具.不过,对程序员来说,这可不是件好事件.因为excel的数据既不像txt那样,随意一种语言.脚本,写个函数就能把数据读出来分析.也不像JSON这种开源的数据格式,有N多的开源库来读取.就算没有,知道数据格式,自己写个库也自己用不至于太难. 要想读取excel的数据,大多使用ODBC数据库驱动或者COM的方式.对于ODBC,不同的语言有不同的实现,如java的JDBC.而对于COM方式,几乎是在后台运行一个excel程序,像new Excel.Application()

读取Excel文件写入数据库 Mybatis , POI , JXL

废话不多说,直接上代码结构图 所用到的lib包 Students 实体类 package com.test.model; public class Students { private int id; private String username; private int age; private int salary; public int getId() { return id; } public void setId(int id) { this.id = id; } public St

Java读取excel文件,并存入MySQL数据库

2019,刚毕业入职,需要更新数据库某表内容,就写了个Java读取excel文件的代码,代码尚存问题较大,过往阅者看看即可,以此记录小白点滴 初学Java,还没学到io流,jdbc等操作 代码用到poi 一些jar,数据库jar import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.s

myBatis中的注解@Param、返回值为Map、JAVA读取Excel并解析文本、Class.getResource()和ClassLoader.getResource()

myBatis中的注解@Param:http://blog.csdn.net/gao36951/article/details/44258217:  http://www.cnblogs.com/thomas12112406/p/6217211.html. myBatis返回值为Map:http://blog.csdn.net/werewr342352321df/article/details/11892755. ====================== JAVA读取Excel并解析文本:h

java读取Excel文件

package 读取excel; /* *导入jxl包,注意不能读取最新版本的Excel文件 */ import java.io.File;    import java.io.FileInputStream;     import java.io.InputStream;    import jxl.Cell; import jxl.CellType;    import jxl.Sheet;    import jxl.Workbook;    import jxl.write.Label;

Java 读取Excel格式xls、xlsx数据工具类

需要POI的jar包支持 调用方式: ReadExcelTest excelTest = new ReadExcelTest(); excelTest.readExcel("D:\\data1.xlsx"); package com.util; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; imp