赠100分!!!java中读EXCEL表中文数据出现乱码? DataInputStream din=new DataInputStream(new FileInputStream("c:\\Book1.xls")); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 !!这样可以吗?用POI项目读吧,很好用的。 //:JDBC-读取Excel文件内容.txt1、JDBC-ODBC桥import java.io.*;import java.sql.*;public class ExcelReadTest{ public static void main(String[] args){ Connection connection = null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection( "jdbc:odbc:exceltest" ); Statement st = con.createStatement(); //Excel以第一行为字段名,从第二行开始是内容!!! ResultSet rs = st.executeQuery( "Select * from [Sheet1$]" ); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns = rsmd.getColumnCount(); System.out.println(numberOfColumns); while (rs.next()) { for (int i = 1; i <= numberOfColumns; i++) { if (i > 1) System.out.print(", "); String columnValue = rs.getString(i); System.out.print(columnValue); } System.out.println(""); } st.close(); con.close(); } catch(Exception ex) {ex.printStackTrace();} }}2、直接读取//:ExcelJdbcDirectNoJar.javaimport java.sql.*;public class ExcelJdbcDirectNoJar { public static void main(String[] args){ //所谓直接连接,实际上还是使用了ODBC,只不过不用设ODBC数据源了 //注意,写法和下行的差异。 String dbUrl="jdbc:odbc:driver={Driver do Microsoft Excel(*.xls)};DBQ=d:\\test\\Book1.xls;user=tsc;password="; Connection con; Statement stmt; String user; ResultSet result=null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException ex){ ex.printStackTrace(); } try{ con = DriverManager.getConnection(dbUrl); stmt=con.createStatement(); result=stmt.executeQuery("select * from [Sheet1$]"); while (result.next()){ String id=result.getString(1); System.out.println(id); } con.close(); }catch(SQLException ex){ex.printStackTrace(); } }} 楼主咋那么都呢,odbc-jdbc去读....不过excel不是很标准,很容易出错... java clone问题 split 对“.”分割无效? java 时间问题,请帮忙 关于用java编写可执行文件的问题 order by的问题 (棘手)请教一个问题:关于Applet的生命周期 JAVA新手问题系列,关于菜单的问题。 java如何读取adpcm编码的wav文件??(java好像只支持pcm编码。) 执行一个applet这样提示~! 高分请教:java的Date中有没有日期加减的方法? 初学者的困惑 基础问题!
import java.io.*;
import java.sql.*;public class ExcelReadTest{
public static void main(String[] args){
Connection connection = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection( "jdbc:odbc:exceltest" );
Statement st = con.createStatement();
//Excel以第一行为字段名,从第二行开始是内容!!!
ResultSet rs = st.executeQuery( "Select * from [Sheet1$]" );
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
System.out.println(numberOfColumns);
while (rs.next()) {
for (int i = 1; i <= numberOfColumns; i++) {
if (i > 1) System.out.print(", ");
String columnValue = rs.getString(i);
System.out.print(columnValue);
}
System.out.println("");
}
st.close();
con.close();
} catch(Exception ex) {ex.printStackTrace();}
}
}2、直接读取
//:ExcelJdbcDirectNoJar.java
import java.sql.*;public class ExcelJdbcDirectNoJar {
public static void main(String[] args){
//所谓直接连接,实际上还是使用了ODBC,只不过不用设ODBC数据源了
//注意,写法和下行的差异。
String dbUrl="jdbc:odbc:driver={Driver do Microsoft Excel(*.xls)};DBQ=d:\\test\\Book1.xls;user=tsc;password=";
Connection con;
Statement stmt;
String user;
ResultSet result=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException ex){
ex.printStackTrace();
} try{
con = DriverManager.getConnection(dbUrl);
stmt=con.createStatement();
result=stmt.executeQuery("select * from [Sheet1$]");
while (result.next()){
String id=result.getString(1);
System.out.println(id);
}
con.close();
}catch(SQLException ex){ex.printStackTrace(); }
}
}