我在ContainsValue
中有一个数据列表,其中包含标题以及与之关联的值。像下面一样,
ArrayList
我正在用Java编写代码,并使用Fruits
Apple
Orange
******
Vegetables
Beans
Carrot
Brinjal
Cucumber
******
Colors
Orange
Blue
Red
Green
Yellow
Now, I want to write the values in `excel` with each heading and the associated values in column-wise. Like below,
Fruits Vegetable Colors
Apple Beans Orange
Orange Carrot Blue
Brinjal Red
Cucumber Green
Yellow
库处理apache.poi.xssf.usermodel
操纵。我要面对的问题是,当我编写第二个标题和相关值时,由于excel
创建代码而使第一个标题及其值被清除
Row
有人可以帮我完成此事吗?
答案 0 :(得分:1)
您需要做的是第一次使用createRow()
...创建行,并使用getRow()
进行所有后续访问。这样,您将在工作表对象中获得该行,而不是创建一个新行。如果行不存在,getRow()
将返回null,因此您可以执行以下操作:
XSSFRow row = outputSheet.getRow(rowNumValue) ? outputSheet.getRow(rowNumValue) : outputSheet.createRow(rowNumValue);
答案 1 :(得分:0)
一个人可以立即在单个列表上操作,但是使用明智的数据结构更容易。由于每列可以具有不同数量的行,因此创建列列表,每列成为行列表。
WarningAble
现在,人们可以遍历行以填充工作表。
List<List<String>> makeColumns(List<String> linearList) {
List<List<String>> columns = new ArrayList<>();
int column = 0;
for (String s : linearList) {
if (s.startsWith("***")) {
++column;
} else {
while (column >= columns.size()) {
columns.add(new ArrayList<>());
}
columns.get(column).add(s);
}
}
}