zoukankan      html  css  js  c++  java
  • java无依赖读取Excel文件

       说到Java读取Excel文件,用得多的当然是POI或jxls,但今天在看一本书的时候。当中提到使用JdbcOdbcDriver这个驱动类在不依赖第三方库的情况下也能够完毕对Excel文件的读取操作,网上搜了一下原因然后自己写了个样例跑通了,在此记录一下。

    Java读取数据库大家都非常熟悉,须要一个数据源与对应的驱动。开发人员通过JDBC操作驱动。驱动再去操作数据库。那么Java读取Excel文件也是类似的。在Windows系统中,能够将一个Excel文件注冊为一个ODBC数据源,注冊过程为:
    a.控制面版>管理工具>数据源(ODBC)

    b.在用户DSN选项卡中点击加入,选择Driver do Microsoft Excel(*.xls)


    c.点击完毕,填入数据源名称。最后选择簿,即选择作为数据源的Excel文件地址
    当中数据源名称最为重要。它会作为获取连接的URL的一部分。

    注冊好数据源后就能够写代码了,一个示比例如以下:

    public class ExcelReader {
    	private String entry;//ODBC数据源名称
    	
    	public ExcelReader(String entry) {
    		this.entry = entry;
    	}
    	
    	//sheetName为工作表名称
    	public String read(String sheetName) throws Exception {
    		StringBuilder builder = new StringBuilder();
    		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
    		Connection connection = DriverManager.getConnection("jdbc:odbc:" + entry);
    		Statement statement = connection.createStatement();
    		ResultSet rs = statement.executeQuery("select * from [" + sheetName + "$]");
    		while(rs.next()) {
    			builder.append(rs.getObject(1));//示意性仅仅读取一列
    		}
    		rs.close();
    		statement.close();
    		connection.close();
    		return builder.toString();
    	}
    	
    	public static void main(String[] args) throws Exception {
    		ExcelReader reader = new ExcelReader("etl");
    		System.out.println(reader.read("test"));
    	}
    }

    其原理是:开发都通过JDBC操作JdbcOdbcDriver驱动,JdbcOdbcDriver驱动连接ODBC数据源。然后ODBC操作连接Excel文件(Windows完毕)。通过一步步地适配从而完毕读取Excel文件的目的。


  • 相关阅读:
    python 输出所有列表元素的乘积
    shell 变量赋值运算
    shell 判断变量是否为空
    js 获取地址栏域名以及URL
    python 获取列表大于指定长度的元素
    python 判断列表字符串元素首尾字符是否相同
    python 通过列表元素值截取列表并获取长度
    python 判断两个列表是否有公共元素
    python 获取列表的键值对
    python 判断列表的包含关系
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6941963.html
Copyright © 2011-2022 走看看