java无依赖读取Excel文件
来源:互联网 发布:腾讯视频 网络连接异常 编辑:程序博客网 时间:2024/04/30 01:44
说到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文件的目的。
0 0
- java无依赖读取Excel文件
- java读取excel文件
- java读取excel 文件
- java读取excel文件
- Java读取Excel文件
- java读取Excel文件
- java 读取excel 文件
- java读取Excel文件
- Java 读取Excel文件
- JAVA读取excel文件
- java读取Excel文件.
- java读取excel文件
- java读取Excel文件
- Java读取Excel文件
- Java读取Excel文件
- java读取excel文件
- java 读取excel文件
- java读取Excel文件
- memcache 是如何存储java对象
- linux下apache的gzip压缩功能
- 使用yum快速部署Oracle安装环境(11g)
- Yii Framework2.0开发教程(7)账户注册开发
- 减震器日常维修与保养
- java无依赖读取Excel文件
- poj 3038
- ILSpy 开源的.Net代码反编译软件
- 安卓常用弹出对话框
- 随机生成N个和为S的正整数
- 汽车维修猫腻
- SqlServer分页存储过程
- 车辆漏油的主要原因
- Andriod应用性能优化方案(1)