我正在编写一个程序来读取一个大的 xml 文件并从中创建一个 excel 文件。每个节点的属性将是 excel 文件中的列标题。我创建了一个 Dom 对象并获得了节点列表。我需要遍历它,对于每个节点,我需要在 Excel 表中添加一行,并将节点的属性值作为列值。因此,在迭代时,我需要动态创建行。我该怎么做?我没有看到在 apache POI 中添加创建的行的功能,到目前为止我所看到的是每次都定义新行。我无法做到这一点,因为它有超过 5000 个条目。基本上我想做的是:
Node node = null;
HSSFRow datarow = null;
for (int i = 0; i < nodeList.getLength(); i++) {
node = nodeList.item(i);
datarow = spreadSheet.createRow(i);
//set values for data row here, and add it.
//so in the loop, next time the same variable will be assigned to spreadSheet.createRow(1) etc.
}
我知道 createRow 是从 spreadSheet 调用的,它会将行添加到其中。但是在循环中,同样的变量也会被分配给其他行,所以我想最后我只会得到 1 行。请就此给我建议。