使用JDBC-ODBC读取Excel文件
以下代码我没有真正去实践,紧做为总结,方便以后查阅:
这种方法需要设置ODBC源.....
参考:
http://xytang.blogspot.com/2008/02/how-to-connect-to-excel-spreadsheet.html
http://www.devx.com/Java/Article/17848
http://www.java2s.com/Tutorial/Java/0340__Database/UseJDBCODBCbridgetoreadfromExcel.htm
附代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element; /**
* 这种读取Excel的方式应该配配置ODBC数据源.
* @author CDV-DX7
*
*/
public class ExcelUtil {
private String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";
private String dataSourceUrl = "jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ="; // 不设置数据源 public ExcelUtil(){} public void setDriverName(String driverName){
this.driverName = driverName;
} /**
* 从excel中获取数据,转化为XML
* @param excelUrl
* @param sheetName
* @return
* @throws ClassNotFoundException
* @throws SQLException
*/
public Document getExcelData(String excelUrl, String sheetName)
throws ClassNotFoundException, SQLException {
Connection dbConn = null;
try {
Class.forName(this.driverName);
excelUrl = this.dataSourceUrl + excelUrl;
dbConn = DriverManager.getConnection(excelUrl, "", "");
Statement smt = dbConn.createStatement();
ResultSet rs = smt.executeQuery("select * from [" + sheetName + "$]");
Document doc = DocumentHelper.createDocument();
Element elmRoot = doc.addElement("Tab");
while (rs.next()) {
Element elmRow = elmRoot.addElement("Row"); int colNum = rs.getMetaData().getColumnCount();
for (int i = 1; i <= colNum; i++) {
Element elmCol = elmRow.addElement("Col");
elmCol.setText(rs.getString(i));
}
} return doc;
} finally {
dbConn.close();
}
} public static void main(String[] args) {
try{
//使用方法示例
String excelUrl = "C:\\Users\\CDV-DX7\\Desktop\\节目信息输入数据.xls";
String sheetName = "节目列表";
ExcelUtil excelutil = new ExcelUtil();
excelutil.getExcelData(excelUrl,sheetName);
}catch (Exception e){
e.printStackTrace();
System.out.println("出错啦:"+e.getMessage());
}
}
}
使用JDBC-ODBC读取Excel文件的更多相关文章
- java无依赖读取Excel文件
说到Java读取Excel文件,用得多的当然是POI或jxls,但今天在看一本书的时候.当中提到使用JdbcOdbcDriver这个驱动类在不依赖第三方库的情况下也能够完毕对Excel文件的读取操作, ...
- .Net读取Excel文件时丢失数据的问题 (转载)
相信很多人都试过通过OleDB读取Excel文件,这种方法效率十分高,只是有一点会让人十分头痛,就是当一列中既有混合型数据,又有纯数据时,往往容易丢失数据. 百度过后,改连接字符串 “HDR=YES; ...
- C# 读取EXCEL文件的三种经典方法
1.方法一:采用OleDB读取EXCEL文件: 把EXCEL文件当做一个数据源来进行数据的读取操作,实例如下: public DataSet ExcelToDS(string Path) { stri ...
- c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出
c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using S ...
- ADO.NET 读取Excel文件,并作数据源
项目中需要用的功能,贴上代码了. 需要注意的地方:配置Web.config的时候要注意版本问题! //若是在Web.config中配置数据源,如下 <add key="ExcelCon ...
- PHPExcel读取Excel文件的实现代码
<?php require_once 'PHPExcel.php'; /**对excel里的日期进行格式转化*/ function GetData($val){ $jd = GregorianT ...
- 使用jxl,poi读取excel文件
作用:在java后台添加一个方法,读取导入的excel内容,根据需要返回相应的sql语句,以完成对临时表的插入操作. 使用jxl读取excel文件 package com.sixthf.bi.sapp ...
- C# 读取Excel文件里面的内容到DataSet
摘要:读取Excel文件里面的内容到DataSet 代码: /// <summary> /// 读取Excel文件里面的内容到DataSet /// </summary> // ...
- R语言读取excel文件的3种方法
R读取excel文件中数据的方法: 电脑有一个excel文件,原始的文件路径是:E:\R workshop\mydata\biom excel数据为5乘2阶矩阵,元素为 ...
- C#读取Excel文件:通过OleDb连接,把excel文件作为数据源来读取
转载于:http://developer.51cto.com/art/200908/142392.htm C#读取Excel文件可以通过直接读取和OleDb连接,把excel文件作为数据源来读取: ...
随机推荐
- CountDownLatch和CyclicBarrier的区别
[CountDownLatch.CyclicBarrier和Semaphore]http://www.cnblogs.com/dolphin0520/p/3920397.html [CountDo ...
- struts2对一些属性的使用和对session封装对象类型采用jstl技术的遍历(配图解)
在struts2中如何实现像jsp中request,session,appliaction的使用.其实有两种方法.下面通过一个案列来说明两个方法的使用. 先写一个test.java类 packagec ...
- Java程序打包成jar包
方法一:通过jar命令 jar命令的用法: 下面是jar命令的帮助说明: 用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] ...
- Simple Worker Thread Class
http://www.codeproject.com/Articles/36184/Simple-Worker-Thread-Class Introduction Many times we need ...
- pic/at89c2051 programmer
http://dangerousprototypes.com/forum/viewtopic.php?t=170 It looks like the PICKIT2 uses a small boos ...
- 书写CSS需要注意的地方
1.注意对图片设置宽高和转化为块2.文字超出的设置3.空白部分用空div来设置4.做之前考虑重用,重用部分命名不要和内容相关 尽量公共(comWidth area small big img list ...
- 内网能PING通TELNET通不能访问解决
遇到一个离奇故障,内网,两个主机在同一IP段内,能互相PING通,TELNET对方的WEB服务器端口,通. 但用IE访问时不能,显示HTTP400.这明显是客户端系统的问题啊!但如何解决呢?我强烈怀疑 ...
- volley开源库乱码问题总结(持续更新)
之前Android开发一直用的是多层封装的Final框架.最近开始学习使用小巧的volley. 在使用该框架的过程中,出现了数次乱码问题,再次做以总结. 分别是返回数据乱码和提交参数乱码两个问题: 一 ...
- 视频流服务器配置[windows平台][转]
视频流服务器配置[windows平台] 搭建一个Flv视频播放服务器 作者:笨小孩 发布于:2013-9-1 20:18 分类:环境架设 IIS,Apache,Nginx环境都可以很好的支持视频的播放 ...
- volatile synschonized的区别
在一次面试中,被问到volatile与synschonized的区别,概念模模糊糊,今天做一个总结,加强自己的认识. 本文参考http://www.cnblogs.com/dolphin0520/p/ ...