Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用rs.next()打印Excel工作簿中的所有行?_Java_Excel - Fatal编程技术网

Java 如何使用rs.next()打印Excel工作簿中的所有行?

Java 如何使用rs.next()打印Excel工作簿中的所有行?,java,excel,Java,Excel,我正在阅读一个三列多行的Excel工作簿,使用rs.next()打印所有行的值,但它只打印第一行的值 我尝试了以下两种方法,但它总是只打印第一行,并且rowscont=1 Statement s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ltSet.CONCUR_READ_ONLY) Statement s = con.createStatement(); 这是到目前为止我的代码。有人能告诉我如何打印所有行吗 publi

我正在阅读一个三列多行的Excel工作簿,使用rs.next()打印所有行的值,但它只打印第一行的值

我尝试了以下两种方法,但它总是只打印第一行,并且rowscont=1

Statement s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ltSet.CONCUR_READ_ONLY)
Statement s = con.createStatement(); 
这是到目前为止我的代码。有人能告诉我如何打印所有行吗

public static void main(String[] args) throws SQLException {
Connection con=DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=D:\\Test.xls");
            //Statement s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
      Statement s = con.createStatement();
            ResultSet rs = s.executeQuery("SELECT * FROM [Sheet1$]");        
            int rowcount=0;
            if(rs.next())
            {                    
                String userid1=rs.getString("UserId");
                System.out.println(userid1);
                ++rowcount;
            }
            System.out.println("Total number of records = " + rowcount);
            rs.close();


    }

}您必须使用
while
循环,而不是
if
语句

If
语句只执行一次,但不会循环以获得所需的结果

while(rs.next())
{                    
  String userid1=rs.getString("UserId");
  System.out.println(userid1);
  ++rowcount;
}

用上面的代码完全替换您的if块。

它起作用了,多亏了你们大家,我犯了一个大错误
while(rs.next())
{                    
  String userid1=rs.getString("UserId");
  System.out.println(userid1);
  ++rowcount;
}