gpt4 book ai didi

java - 如何使用apache POI库按列名获取Excel工作表单元格数据

转载 作者:行者123 更新时间:2023-12-01 11:17:04 30 4
gpt4 key购买 nike

我想获取特定工作表的单元格数据,其中包含列名称而不是列索引,目前我可以使用

获取单元格数据
fis = new FileInputStream(ExcelPath);
wb = new XSSFWorkbook(fis);
sh = wb.getSheet(SheetName);
cell = sh.getRow(rownum).getCell(colnum);

但我正在寻找一种获取单元格数据的方法,

cell = sh.getRow(rownum).getCell(ColName); //not working

最佳答案

Excel 列没有名称。它们只有字母,例如 A、D、BB

要了解如何将 Excel 样式的列字母映射到 POI 样式的基于 0 的索引,您需要使用方法 convertColStringToIndex(java.lang.String ref)它为你做这件事

如果您的意思是要根据第一行中保存的值查找列,您应该执行以下操作:

DataFormatter fmt = new DataFormatter();
Map<String,Integer> headings = new HashMap<String,Integer>();
Row headings = sheet.getRow(0);
if (headings == null) throw new IllegalArgumentException("Empty headings row");
for (Cell c : headings) {
headings.put(fmt.formatCellValue(c), c.getColumnIndex());
}

如果您有更复杂的用例,例如跨多行的标题,您将需要编写更复杂的代码......这一切都由您的用例驱动

关于java - 如何使用apache POI库按列名获取Excel工作表单元格数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31697659/

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