Java 用于在excel中选择特定单元格的sql查询 Open_yyy Open_MM MetricMonth BaseTXN_发布所有txn_发布 2013年4月4日-2013年24990 42179 2013年5月5日-2013年3704958037 2013年6月6日-2013年6月33491 54869 2013年7月7日-2013年34359 62047

Java 用于在excel中选择特定单元格的sql查询 Open_yyy Open_MM MetricMonth BaseTXN_发布所有txn_发布 2013年4月4日-2013年24990 42179 2013年5月5日-2013年3704958037 2013年6月6日-2013年6月33491 54869 2013年7月7日-2013年34359 62047,java,excel,jdbc-odbc,Java,Excel,Jdbc Odbc,我在Excel文件中有上述信息,我只想选择并输出2013年7月发布的所有TXN_的值,作为上月交易总额。在使用jdbc odbc连接连接Excel电子表格之后,如何在Java中执行此操作?以下代码对我很有用。它假设Excel中的[MetricMonth]列包含文本值(而不是格式为MMM yyyy的真实日期),但它至少应该给出一般的想法 import java.sql.*; public class jdbcTest { public static void main(String[]

我在Excel文件中有上述信息,我只想选择并输出2013年7月发布的
所有TXN_
的值,作为上月交易总额。在使用jdbc odbc连接连接Excel电子表格之后,如何在Java中执行此操作?

以下代码对我很有用。它假设Excel中的[MetricMonth]列包含文本值(而不是格式为MMM yyyy的真实日期),但它至少应该给出一般的想法

import java.sql.*;

public class jdbcTest {

    public static void main(String[] args) {
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection conn = DriverManager.getConnection(
                    "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" + 
                    "Dbq=C:\\__tmp\\Book1.xlsx;");

            PreparedStatement s = conn.prepareStatement(
                    "SELECT * FROM [Sheet1$] WHERE [MetricMonth] = ?");
            s.setString(1, "Jul-2013");
            s.execute();
            ResultSet rs = s.getResultSet();
            if (rs!=null) {
                while (rs.next()) {
                    System.out.println(rs.getInt("AllTXN_Issued"));
                }
            }
            s.close();

            conn.close();
        } catch( Exception e ) {
            e.printStackTrace();
        }

    }

}

下面的代码适合我。它假设Excel中的[MetricMonth]列包含文本值(而不是格式为MMM yyyy的真实日期),但它至少应该给出一般的想法

import java.sql.*;

public class jdbcTest {

    public static void main(String[] args) {
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection conn = DriverManager.getConnection(
                    "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" + 
                    "Dbq=C:\\__tmp\\Book1.xlsx;");

            PreparedStatement s = conn.prepareStatement(
                    "SELECT * FROM [Sheet1$] WHERE [MetricMonth] = ?");
            s.setString(1, "Jul-2013");
            s.execute();
            ResultSet rs = s.getResultSet();
            if (rs!=null) {
                while (rs.next()) {
                    System.out.println(rs.getInt("AllTXN_Issued"));
                }
            }
            s.close();

            conn.close();
        } catch( Exception e ) {
            e.printStackTrace();
        }

    }

}

试试这个,它适用于所有平台

Fillo fillo=new Fillo();
Connection connection=fillo.getConnection("C:\\Test.xlsx");
String strQuery="Select * from Sheet1 where ID=100";
Recordset recordset=connection.executeQuery(strQuery);

while(recordset.next()){
System.out.println(recordset.getField("Details"));
}

recordset.close();
connection.close();

试试这个,它适用于所有平台

Fillo fillo=new Fillo();
Connection connection=fillo.getConnection("C:\\Test.xlsx");
String strQuery="Select * from Sheet1 where ID=100";
Recordset recordset=connection.executeQuery(strQuery);

while(recordset.next()){
System.out.println(recordset.getField("Details"));
}

recordset.close();
connection.close();

请同时检查这一项。。。请也检查一下这个。。。