1

我有一个这样的excel文件:

excel文件

我想通过使用 for 循环来获取这两个值,然后从 for 循环外部访问它们。两者都将用作 xml 元素的值。我写了这样的代码:

        String longSec = null;
        Double long_sec = null;
        int column_long_sec = 33;
        int c;

        for(c=1; c<=2; c++) {

                row = sheet.getRow(c);

                    long_sec = row.getCell(column_long_sec).getNumericCellValue();
                    longSec = Double.toString(long_sec);
        }   

        Element sid_long_sec = document.createElement("SID_LONG_SEC");
        document.appendChild(sid_long_sec);
        sid_long_sec.appendChild(document.createTextNode(longSec));

代码给出这样的输出:

<SID_LONG_SEC>54.61</SID_LONG_SEC>

但是,我希望代码给出这样的输出:

<SID_LONG_SEC>48.94</SID_LONG_SEC>
<SID_LONG_SEC>54.61</SID_LONG_SEC>

怎么做?

任何想法或帮助将不胜感激

此致,

尤努斯

4

2 回答 2

4

你在循环之外创建元素,所以它只需要 longSec 的最后一个值。

这个

Element sid_long_sec = document.createElement("SID_LONG_SEC");
document.appendChild(sid_long_sec);
sid_long_sec.appendChild(document.createTextNode(longSec));

应该在循环内

于 2013-06-05T16:16:39.723 回答
2

在循环内做这一切怎么样?

    String longSec = null;
    Double long_sec = null;
    int column_long_sec = 33;
    int c;

    for(c=1; c<=2; c++) {
        row = sheet.getRow(c);
        long_sec = row.getCell(column_long_sec).getNumericCellValue();
        longSec = Double.toString(long_sec);
        Element sid_long_sec = document.createElement("SID_LONG_SEC");
        document.appendChild(sid_long_sec);
        sid_long_sec.appendChild(document.createTextNode(longSec));
    }   

如果要将 XML 处理留在循环之外,则必须将从 excel 文件中读取的值存储在某个容器(数组或集合)中,然后创建另一个循环,在该循环中迭代该容器并将值写入XML。

于 2013-06-05T16:16:27.640 回答