我有一个 List<String[]>
我从一个csv文件中填充它。
List<String[]> csvData = ReadCSV.readAll();
因此,我需要将这些数据放入一个表中,该表根据csv列表的大小有许多行,但只有2列。所以我需要把这些数据打印到 Zig-Zag
顺序如下。
_______________________________
| Data One | Data Two |
_______________________________
| Data Three | Data Four |
_______________________________
| Data Five | Data Six |
_______________________________
所以我有点搞不懂怎么做才能得到两个 String[]
一次收集数据。因为 List<String[]>
如下所示,
[1st, Data One]
[2nd, Data Two]
[3rd, Data Three]
[4th, Data Four]
所以我试着打印数据如下,
for (int i = 0; i < csvData.size(); i = i + 2) {
String[] arrayOne = csvData.get(i);
String[] arrayTwo = csvData.get(i + 1);
// Print in word
table.getRow(i).getCell(0).setParagraph(paragraph that contains arrayOne data);
table.getRow(i).getCell(1).setParagraph(paragraph that contains arrayTwo data);
}
但是使用这种方法,如果csv文件和 table.getRow(i)
也不能正常工作。我也尝试过数组合并,但当csv列表中有奇数个数据时就不起作用了。那么,做我需要的事情的最佳方法是什么呢?有人能帮我做到这一点吗?提前谢谢。
2条答案
按热度按时间n3ipq98p1#
如果表有两列,那么它需要
int rows = (int)Math.ceil(csvData.size()/2d);
.要填充表,需要迭代器
r
对于行和迭代器c
对于列和迭代器i
用于迭代列表。只有一个单元格值可以设置,如果i < csvData.size()
.完整的工作示例:
ergxz8rk2#
为了扩展我的评论,您可以使用
if
声明: