Vaagn Akopyan Asked:2020-07-28 03:18:53 +0000 UTC2020-07-28 03:18:53 +0000 UTC 2020-07-28 03:18:53 +0000 UTC 如何将Excel文件中的数据导入地图?在java中 772 下午好! 请告诉我如何通过 Apache POI 库从 Excel 上传数据,以便将它们放置在地图中。例如,文件有一个名字列和一个交互列,您需要将它们放在地图中,以便每个名称对应于所有交互的总和,即 map 的 key 应该是 firstname , value 应该是其对应交互的总和。那些。例如,对于 Denis,总和将为 7。 java 2 个回答 Voted Best Answer Tsyklop 2020-07-28T16:04:41Z2020-07-28T16:04:41Z Maven POM: <dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> </dependencies> Java代码: public class Main { public static void main(String[] args) throws IOException, InvalidFormatException { Map<String, Integer> interactions = new HashMap<>(); Workbook workbook = WorkbookFactory.create(Main.class.getClassLoader().getResourceAsStream("example.xlsx")); Sheet sheet = workbook.getSheetAt(0); DataFormatter dataFormatter = new DataFormatter(); sheet.forEach(row -> { String name = dataFormatter.formatCellValue(row.getCell(0)); Integer interaction = Integer.parseInt(dataFormatter.formatCellValue(row.getCell(1))); if(!interactions.containsKey(name)) { interactions.put(name, 0); } interactions.put(name, interactions.get(name)+interaction); }); workbook.close(); System.out.println(interactions); } } 输出:{Mihail=9, Petr=10, Grigory=8, Denis=7} zolt 2020-07-28T10:13:26Z2020-07-28T10:13:26Z 纯算法,问题解决如下: - 打开书阅读 - 取第一页 - 逐行取迭代器,遍历它 - 在每一行中,我们将迭代器遍历单元格,遍历它,阅读第一个单元格,检查地图中是否有此键的值。如果有,我们将第二个单元格的值添加到其中,否则我们将第二个单元格的值放入地图中,按键 = 第一个单元格的值,转到下一行 - 直到行运行出去 - ??????- 利润!!!1
Maven POM:
Java代码:
输出:
{Mihail=9, Petr=10, Grigory=8, Denis=7}纯算法,问题解决如下: - 打开书阅读 - 取第一页 - 逐行取迭代器,遍历它 - 在每一行中,我们将迭代器遍历单元格,遍历它,阅读第一个单元格,检查地图中是否有此键的值。如果有,我们将第二个单元格的值添加到其中,否则我们将第二个单元格的值放入地图中,按键 = 第一个单元格的值,转到下一行 - 直到行运行出去 - ??????- 利润!!!1