首页 > 代码库 > java无依赖读取Excel文件
java无依赖读取Excel文件
说到Java读取Excel文件,用得多的当然是POI或jxls,但今天在看一本书的时候。当中提到使用JdbcOdbcDriver这个驱动类在不依赖第三方库的情况下也能够完毕对Excel文件的读取操作,网上搜了一下原因然后自己写了个样例跑通了,在此记录一下。
Java读取数据库大家都非常熟悉,须要一个数据源与对应的驱动。开发人员通过JDBC操作驱动。驱动再去操作数据库。那么Java读取Excel文件也是类似的。在Windows系统中,能够将一个Excel文件注冊为一个ODBC数据源,注冊过程为:
a.控制面版>管理工具>数据源(ODBC)
当中数据源名称最为重要。它会作为获取连接的URL的一部分。
其原理是:开发都通过JDBC操作JdbcOdbcDriver驱动,JdbcOdbcDriver驱动连接ODBC数据源。然后ODBC操作连接Excel文件(Windows完毕)。通过一步步地适配从而完毕读取Excel文件的目的。
Java读取数据库大家都非常熟悉,须要一个数据源与对应的驱动。开发人员通过JDBC操作驱动。驱动再去操作数据库。那么Java读取Excel文件也是类似的。在Windows系统中,能够将一个Excel文件注冊为一个ODBC数据源,注冊过程为:
a.控制面版>管理工具>数据源(ODBC)
b.在用户DSN选项卡中点击加入,选择Driver do Microsoft Excel(*.xls)
当中数据源名称最为重要。它会作为获取连接的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文件的目的。
java无依赖读取Excel文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。