在Apache POI中根据文本查找Excel单元格

7

我希望能够通过文本查找Excel表格中的单元格。文本类似于%t

sheet.findCell("%t"); // pseudo-code, not working

我的目标是让用户提供一种模板,其中数据被写入。用户可以在Excel文件中配置颜色、字体以及数据位置。这个%t单元格是数据表的左上角。
附加问题:有没有更优雅的方法来完成这项工作?
编辑:我正在迭代行和单元格来查找它。我担心这不是很有效率,但到目前为止它能够正常工作。
public static Cell findCell(XSSFSheet sheet, String text) {     
    for(Row row : sheet) {          
        for(Cell cell : row) {              
            if(text.equals(cell.getStringCellValue()))
                return cell;
        }
    }       
    return null;
}

1
高效?好的,你需要查看所有单元格。任何快捷方式都需要查看所有单元格并保存您想要查看的信息的索引。 - Thorbjørn Ravn Andersen
2个回答

6
你可以遍历工作表的单元格并检查其内容。我认为没有更简单的方法。

3

这是一篇老帖子,但我仍然想发布我的代码。 你可以定义一个文件路径。

String inputFile = "src\main\resources\file.xlsx";

XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream(inputFile));
                DataFormatter formatter = new DataFormatter();
                for (XSSFSheet sheet : xssfWorkbook) {
                    for (Row row : sheet) {
                        for (Cell cell : row) {
                            if (formatter.formatCellValue(cell).contains("name")){
                                cell.setCellValue("test");
                            }
                        }
                    }
                }
                xssfWorkbook.write(new FileOutputStream(inputFile));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接