【发布时间】:2014-02-24 08:35:10
【问题描述】:
我必须在 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 列,但列表与垂直一样长。如果我想将数据添加到同一行的第 4 个单元格,我不能。因为行已经由循环创建。如果我可以从外部到达“row2”变量,我可以像这样将单元格添加到第 4 列;
Cell cell9 = row2.createCell((short) 4);
cell9.setCellValue("example string");
cell9.setCellStyle(styledatadouble);
以任何方式从 poi 中的单元格索引 4 创建行吗?或者无论如何从外部到达while循环变量?
【问题讨论】:
标签: java while-loop apache-poi