【问题标题】:Reach While variable from outside while loop从外部 while 循环到达 While 变量
【发布时间】: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


    【解决方案1】:

    您可以在 while 循环之后使用 sheet.getRow(2) 再次检索您的行。

    【讨论】:

    • row2 在我的场景中完全是指excel第二行。循环从将数据添加到第 300 个 excel 行开始。如果我想将数据添加到第 200 行的第 4 列,我该怎么办? sheet.getRow(200) ?编辑:它奏效了。非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 2022-07-07
    • 1970-01-01
    相关资源
    最近更新 更多