我想通过文本在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;
}
答案 0 :(得分:4)
您可以遍历工作表的单元格并调查内容。我不认为有一种更简单的方法。
答案 1 :(得分:1)
这是一篇旧文章,但我仍然想发布我的代码。 您可以定义文件路径。
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));