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

使用Apache POI按单元格参考字母标识符获取单元格

吴正祥
2023-03-14

我试图通过单元格引用从行中获取单元格,但我遇到了一个问题。例如,我有:

row.getCell(CellReference.convertColStringToIndex("B"));

如果列索引是1,那么该操作很好,但是如果列被删除,因此b列索引变成了2并且方法:CellReference.ConvertColStringToIndex(“b”)仍然将其转换为1在这种情况下,我无法获取我的列,我将获取NULL

所以问题是,我如何从行中获得列,取决于单元格标识符,这是一个字母?

共有1个答案

卢毅
2023-03-14

看看我对前面一个问题的回答:

您可能希望使用CellReference实用工具类来帮助您解决问题。它提供了Excel样式的字母+数字引用和POI样式的基于0的行+列之间的转换。在使用它时,您可以执行以下操作:

 Sheet sheet = workbook.getSheet("MyInterestingSheet");

 CellReference ref = new CellReference("B12");
 Row r = sheet.getRow(ref.getRow());
 if (r != null) {
    Cell c = r.getCell(ref.getCol());
 }

这将允许您在给定的Excel样式引用中找到单元格(如果已定义,则为null)

 类似资料:
  • 我正在使用Apache POI读取零件编号电子表格中的数据。我在我们的数据库中查找零件编号,如果我们有零件的计算机辅助设计图纸,我将零件编号单元格涂成绿色,如果没有,我将其涂成红色。处理完成后,将保存电子表格。我遇到的问题是那列中的每个细胞都是绿色的。我已经完成了代码,查找零件号的逻辑工作正常,确定单元格应该是什么颜色以及设置颜色和填充的逻辑似乎也工作正常。知道我做错了什么吗? 谢谢

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

  • 我想应用这个函数 但问题是有一些“空单元格”,当我指“空”时,它意味着它有,例如,6个空格。此外,这是一个迭代,所以有时我有两个空格的单元格。 我如何识别这个“空单元格”? PD: 仅适用于有6个空格的特定情况。 编辑1:df.column是一个对象类型的人的名字(一个或多个,甚至错误) 编辑2:删除此单元格(行)以成功应用“str.split”功能。这是一个相互作用,所以有时我有6个空格的单元格

  • 参考问题JavaFX TableView自定义单元格渲染拆分菜单按钮,我能够在每一行中渲染拆分菜单按钮。我已经按照James_D的建议和Keyur Bhanderi的回答更新了我的代码。这个问题是关于获取拆分菜单所在行的值,而无需在单击之前选择行。 更新:添加图像以查看输出 下面的图像显示输出,我点击的每个按钮。 更新SplitMenuCellFactory.java 更新,添加缺少的类 Spli

  • 我希望我的swift代码在每次按下按钮时都添加一个新的tableview单元格。你可以在下面的gif中看到我想要的东西。这段代码应该在func-tableView(_tableView:UITableView,cellForRowAt-indexPath:indexPath)中添加按钮- 在此输入图像描述

  • 移动国家代码由三位小数组成,移动网络代码由两位或三位小数组成(例如:001的MNC与01的MNC不同)https://en.wikipedia.org/wiki/Mobile_country_code 那么,要将MCC MNC作为一个字符串,您如何在Android中获得手机的MCC和MNC?可用于SIM卡插槽的主服务单元。 但是,我需要相邻单元格的这些值。 返回单元格列表,每个单元格都很好地保存了