2014-02-24 54 views
0

我必須達到while循環內的變量。我知道如果我在循環之外聲明變量,我可以達到它。但是在這種情況下,變量必須在循環內部。讓我以一個例子來解釋;達到儘管從外部變量while循環

while (rs.next()) { 
HSSFRow row2 = sheet.createRow((short) index);  
Cell cell5 = row2.createCell((short) 0); 
cell5.setCellValue(rs.getString(1)); 
cell5.setCellStyle(stylezones); 
Cell cell6 = row2.createCell((short) 1); 
cell6.setCellValue(rs.getInt(2)); 
cell6.setCellStyle(styledatathousand); 
Cell cell7 = row2.createCell((short) 2); 
cell7.setCellValue(rs.getInt(3)); 
cell7.setCellStyle(styledatathousand); 
Cell cell8 = row2.createCell((short) 3); 
cell8.setCellValue(rs.getDouble(4)); 
cell8.setCellStyle(styledatadouble); 
index++; 
rscount++; 
} 

如您所見,此場景爲每個結果集行創建excel行。循環每次增加行索引併爲新的結果集行創建新行。只有3列使用但列表是長垂直。如果我想添加數據到同一行的第四個單元我不能。因爲行已經由循環創建。如果我可以從外面到達「row2」變量,我可以像這樣將細胞添加到第4列;

Cell cell9 = row2.createCell((short) 4); 
cell9.setCellValue("example string"); 
cell9.setCellStyle(styledatadouble); 

任何方式創建從單元索引4 poi?或者反正從外部到達while循環變量?

回答

0

您可以使用sheet.getRow(2)在while循環後再次檢索您的行。

+0

row2在我的場景中恰好意味着excel第二排。循環從添加數據到第300個excel行開始。如果我想將數據添加到第200行的第4列,我該怎麼辦? sheet.getRow(200)?編輯:它的工作。非常感謝你 :) –