我有一个像这样的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>
怎么做?
任何想法或帮助将不胜感激
最诚挚的问候,
尤努斯
答案 0 :(得分:4)
您正在循环外创建元素,因此它只接受longSec的最后一个值。
此
Element sid_long_sec = document.createElement("SID_LONG_SEC");
document.appendChild(sid_long_sec);
sid_long_sec.appendChild(document.createTextNode(longSec));
应该在循环内
答案 1 :(得分: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的值。