开发者

Find Excel Cell by Text in Apache POI

I'd like to find a cell in an Excel sheet by its text. The text is something like %t:

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

My goal is to enable the user to provide kind of template, in which data is written. Colours and fonts, as well 开发者_JAVA技巧as data's position can be configured by the user in an Excel file. This %t cell is the top-left corner of the data table.

Additional question: Is there a more elegant way to get this job done?

EDIT I'm iterating over the rows and cells to find it. I'm afraid it's not really efficient, but it works so far:

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;
}


You can iterate through the cells of the sheet and investigate the contents. I don't think there is an easier method.


Its an old post but still i want to publish my code. You can define a file path.

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));
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜