当前位置: 首页 > 知识库问答 >
问题:

使用apache POI-HashMap、ArrayList读取excel

段干宜
2023-03-14

嗨,

我正在尝试使用excel中的列标题读取列值(使用java)。如图中所示,假设我想读取标题“城市”、列下的所有后续单元格并显示它们。我该怎么做?

通过查看internet上的示例,我发现大多数示例都使用迭代器在行上迭代。

HashMap<String, ArrayList<String>> hashmap = 
                new HashMap<String, ArrayList<String>>();

请不要将此标记为重复,我已经尝试在stackoverflow和internet上搜索,但大多数都使用行迭代。

共有1个答案

司空奕
2023-03-14

如果不遍历行,则无法直接读取列中的所有单元格,因为数据存储在excel工作表中的方式是这样的(在行中,而不是在列中)。一个解决办法是像这里所示那样转置行和列,然后遍历行以获得hashmap中的数据,就像您在问题中指出的那样。

 类似资料:
  • 嗨,我想在第一行搜索一个字符串,如果找到了,我想移动那一列。

  • 我有一个巨大的excel文件,其中包含大量列,如下所示:- 当我打印excel中的所有值时,我的代码生成的输出是:- 所以,如果我们看看上面的输出,我们可以注意到我留下空白值的单元格没有被POI库拾取。有没有一种方法可以让这些值为空?还是一种识别所呈现的值跳过空白单元格的方法? 请注意:我使用的不是usermodel(org.apache.poi.ss.usermodel),而是一个事件API来处

  • 我正在写一个程序,它需要从excel文件中读取和写入数据,而不考虑格式(xls或xlsx)。 我知道ApachePOI,但它似乎有不同的类来处理xls文件(HSSF)和xlsx(XSSF)文件。 任何人都知道我将如何实现我在这里的目标。(也欢迎使用POI以外的API的想法)。

  • 我是编程界的新手。嗯,我正在尝试使用ApachePOI库读取excel文件(5行5列)。我实际上有两个相同问题的实现。在第一个代码片段中,我只是读取excel文件并将其打印到控制台中。 然而,现在我正试图将读取的excel数据保存到一个数组中。所以我想在动态获取excel行和列大小后设置数组大小。但令我惊讶的是,当我执行第二个代码段时,似乎“while(cellIterator.hasNext()

  • 我需要一个“列表”或“地图”,。。。此列表将从另一个ArrayList中添加。当A的参数等于时,对象A被视为等于另一个对象。 我的问题是我只想添加一个列表中不存在的对象。我想知道这两种实施方案之间的区别。使用ArrayList或HashMap 哪种方法可以更快地添加大量对象(超过1000个对象,或更多对象)有更好的模式解决我的问题吗???

  • 这是我唯一的代码: