简体   繁体   中英

Result set to excel ignoring 1st row

I am trying to execute queries in java and export to excel

Code :

HSSFSheet localHSSFSheet = localHSSFWorkbook.createSheet(ExcelSheetName);
localHSSFSheet.autoSizeColumn((int) 0, true);
HSSFRow localHSSFRow = localHSSFSheet.createRow(0);  
ResultSetMetaData localResultSetMetaData = localResultSet.getMetaData();
System.out.println(localResultSet.next());

System.out.println(i);
for (int k = 0; k < localResultSetMetaData.getColumnCount(); k++){
 // localHSSFRow.setRowStyle(style)
     localHSSFRow.createCell((int)k).setCellValue(
         localResultSetMetaData.getColumnLabel(k + 1));
}
ResultSet localResultSet1 = localStatement1.executeQuery(sql);
ResultSetMetaData localResultSetMetaData1 = localResultSet1.getMetaData();
System.out.println(localResultSet1.next());

for (int d = 0; d < localResultSetMetaData1.getColumnCount(); d++)
    localHSSFRow.createCell((int)d).setCellValue(
         localResultSetMetaData1.getColumnLabel(d+1));
for (int d = 1; localResultSet1.next(); d++){
    localHSSFRow = localHSSFSheet.createRow((int)d);
    for (int j = 0; j <= localResultSetMetaData.getColumnCount(); j++)
         localHSSFRow.createCell((int)j).setCellValue(
               localResultSet1.getString(j+1));
}

But the above code is simply ignoring the first record (first row) and printing the rest in excel.

What i am doing wrong?

我怀疑您的调试语句(特别是System.out.println(localResultSet1.next()); )应该归咎于它们:它们将localResultSet1从起始位置推进到第二位置(即第二行),然后您开始写入从那里优秀..

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM