暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

java无依赖读取Excel文件

Java精讲 2021-03-31
586

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

Java读取数据库大家都很熟悉,需要一个数据源与相应的驱动,开发者通过JDBC操作驱动,驱动再去操作数据库;那么Java读取Excel文件也是类似的,在Windows系统中,可以将一个Excel文件注册为一个ODBC数据源,注册过程为:

  1. 控制面版 > 管理工具 > 数据源(ODBC)

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


  3. 点击完成,填入数据源名称,最后选择簿,即选择作为数据源的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文件的目的。

--------------- END ---------------

每一篇文章都是小编精心为您准备的,写文不易,费时费脑;​『分享』+『点赞』+『在看』三连击是小编坚持的最大动力,拜谢!

文章转载自Java精讲,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论