2013-11-15 55 views
0

我試圖在Java和出口來執行查詢到Excel結果集卓越忽略第一排

代碼:

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)); 
} 

但上面的代碼簡單地忽略第一個記錄(第一行)和在Excel中打印剩下的部分。

我在做什麼錯了?

回答

4

我懷疑你的調試語句(特別是System.out.println(localResultSet1.next());)惹的禍:他們提升你的localResultSet1從起始位置到第二位置(即第二行),你開始寫從那裏脫穎而出..