gpt4 book ai didi

java - 在新的 Excel 工作表中写入行

转载 作者:行者123 更新时间:2023-12-01 14:00:51 24 4
gpt4 key购买 nike

我有一个 Excel 工作表,如下所示:

enter image description here

正如您在工作表中看到的,Name 有多个 foe 值。

我想为每个唯一 Name 元素创建一个新的 Excel 工作表,如下所示:

enter image description here

enter image description here

我正在使用 apache poi,我可以读取 Excel 工作表,并将列的不同值保存在 arraylist 中。但是,我正在努力使用算法将每个唯一名称元素行保存在新工作表中。

非常感谢您的回答!!!

更新

尝试像这样实现它:

for (Row r : sheet) {
Cell c = r.getCell(4);
c.setCellType(Cell.CELL_TYPE_STRING);
// System.out.println(c.getStringCellValue().toString());
if (c.getStringCellValue().equals(nameList.contains(c.getRowIndex()))) {
System.out.println(sheet.getRow(r.getRowNum()));
System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");

}
}

但是,它不起作用......

最佳答案

您可以逐一读取所有行并创建一个可以填充的 map ,其中名字将是一个对象列表(一个对象包含从 Excel 中的每一行读取的详细信息)。

完成后,对于映射中的每个条目,创建一个新工作表,并在相应工作表中写入与映射中的键对应的对象列表。

我没有进行所有设置来在 POI 中显示示例,但既然您正在使用它,我可以向您展示在哪里可以做什么。

class SomeObject { // This class contains all the details a row in an excel can contain}

Map<String, List<SomeObject>> myMap = new HashMap<String, List<SomeObject>>(); // Create your hashmap

For every row read from the excel using POI {
1. Create a new SomeObject with the data read from the row
a. if the firstname value already exists in myMap, then add this new object to the already existing list for that key
b. if not present, create a new arraylist, add this element and put a new entry in map with firstname and list
2. continue this, till there are more rows to be read.
}

一旦完成并且 map 已完全填充,

For every Entry in the map {
1. Create a new sheet
2. Write all the objects present as the value for this Entry, to the sheet.
3. Close the sheet
4. Continue till there are more entries in the map
}

我无法比这更详细地阐述该算法了。它应该可以帮助您获得解决方案(您需要处理编码部分)。

关于java - 在新的 Excel 工作表中写入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19358741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com