gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 12:16:04 25 4
gpt4 key购买 nike

我正在阅读包含三列和多行的 Excel 工作簿,并使用 rs.next() 打印所有行的值,但它仅打印第一行值。

我尝试了以下两种方法,但它总是只打印第一行,并且 rowscount =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 block 。

关于java - 如何使用 rs.next() 打印 Excel 工作簿中的所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27009019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com