求教:是否有直接用JDBC访问EXCEL文件的包?而不通过JDBC-ODBC桥? 有两个包一个是http://jakarta.apache.org/poi/index.html另一个是http://www.andykhan.com/jexcelapi/自己去看看吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 干嘛一定要用jdbc?对于Excel我觉得jxl包比较好用。还有一个jacob包,还不是很会用,不过这个包能够处理Excel、Access等,它的全称是java com bridge,至于你具体选择哪个包,还是看你自己个人的喜好吧。 因为我要做到把EXCEL当作数据源一样进行查询,可以接受SQL语句然后返回结果.所以想找个不用通过ODBC的东西,因为不希望限制在微软的平台上.POI和JXL我都用过了,自己去解析SQL语句太麻烦了,而且做起来有点困难.有没有人知道这个东西在哪里可以找到啊? //JdbcExcel.java//用jdbc-odbc桥,直接连接Excel,无需配置odbc数据源import java.io.*;import java.sql.*;public class JdbcExcel{ public static void main(String[] args){ try{ //Load JDBC driver Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); /*这里的数据库的url一定要写正确,这是关键,其中DBQ可以绝对路径,也可以是相对路径,为了体现数据存储路径的/独立性,你可以将数据库copy到不同的位试一下*/ /*{Microsoft Access Driver (*.mdb)}部分可以在控制面板-ODBC中的Drivers(驱动程序)找到*/ /*这样其他的数据库也可以通过同样的方式访问,如Excel、FoxPro等*/ String dbUrl = "jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=H:\\XSchool\\Rookie_Tip_Show\\JdbcData.xls"; Connection con = DriverManager.getConnection(dbUrl,"",""); Statement state = con.createStatement(); //执行SQL语句 String sql = "Select * From [Sheet1$]"; ResultSet rs = state.executeQuery(sql); //打印测试 if( rs != null ){ System.out.println("姓名\t年龄\t分数"); while( rs.next() ){ System.out.println(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)); } rs.close(); } state.close(); con.close(); }catch(Exception e){e.printStackTrace();} }}// hehe,楼上这位的办法行是行,实际上呢,离开windows平台我看你这段代码还能运行?jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=H:\\XSchool\\Rookie_Tip_Show\\JdbcData.xls这一段和odbc桥有什么区别啊? //用jdbc-odbc桥,直接连接Excel,无需配置odbc数据源rootwuyu(wuyu)朋友,,没看到这行注释么,,我没有说不是jdbc-odbc的方式啊 想摆脱ms很简单,不要用excel就是了。你可以先在win下把excel转成其他格式,比如cvs 先谢谢楼上的各位,虽然没有找到我想要的东西:)对EXCEL的支持是不能放弃的,毕竟太广泛了.看来只有在客户端做个东西了.服务器端肯定不能限于MS的平台.结贴送分. hibernate的继承问题 往Mysql里添加数据时报异常: 关于tomcat项目搜索oracle驱动问题 xml配置servlet问题 EJB的价值到底在哪里 做了一个WEB SERVICE,可在调用接口的时候出现这样的错误,请大侠帮忙。 如何改变web service中wsdl的编码方式? 执行第一个Bean出现了问题!郁闷!麻烦您看看! java https post 报错 谈谈大家在实际开发中面向切面的应用场景 有没有办法在form中每次离开一个文本框时都入ejb层验证? 按JB向导做得BMP,发布成功了,客户测试出错,大家帮我看看
对于Excel我觉得jxl包比较好用。
还有一个jacob包,还不是很会用,不过这个包能够处理Excel、Access等,它的全称是java com bridge,至于你具体选择哪个包,还是看你自己个人的喜好吧。
所以想找个不用通过ODBC的东西,因为不希望限制在微软的平台上.POI和JXL我都用过了,自己去解析SQL语句太麻烦了,而且做起来有点困难.有没有人知道这个东西在哪里可以找到啊?
//用jdbc-odbc桥,直接连接Excel,无需配置odbc数据源
import java.io.*;
import java.sql.*;public class JdbcExcel{
public static void main(String[] args){
try{
//Load JDBC driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); /*这里的数据库的url一定要写正确,这是关键,其中DBQ可以绝对路径,也可以是相对路径,为了体现数据存储路径的/独立性,你可以将数据库copy到不同的位试一下*/
/*{Microsoft Access Driver (*.mdb)}部分可以在控制面板-ODBC中的Drivers(驱动程序)找到*/
/*这样其他的数据库也可以通过同样的方式访问,如Excel、FoxPro等*/
String dbUrl = "jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=H:\\XSchool\\Rookie_Tip_Show\\JdbcData.xls"; Connection con = DriverManager.getConnection(dbUrl,"","");
Statement state = con.createStatement();
//执行SQL语句
String sql = "Select * From [Sheet1$]";
ResultSet rs = state.executeQuery(sql);
//打印测试
if( rs != null ){
System.out.println("姓名\t年龄\t分数");
while( rs.next() ){
System.out.println(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3));
}
rs.close();
}
state.close();
con.close();
}catch(Exception e){e.printStackTrace();}
}
}//
rootwuyu(wuyu)朋友,,没看到这行注释么,,我没有说不是jdbc-odbc的方式啊