使用poi从excel读取超链接时获取null

时间:2017-07-28 07:19:13

标签: java apache-poi

我有一个excel文件,其中一行包含少量单元格作为字符串,另一行包含数字,超链接。

我想从excel读取数据,因为我在下面编写了代码

HSSFCell cell =row.getCell(j+1);    
cell.setCellType(CellType.STRING);
String cellValue = cell.getStringCellValue();

上面的代码读取数字单元格和字符串单元格但是当涉及到包含超链接的单元格时,在这种情况下,它将这些单元格读取为null。我可以将我的超链接放在双引号之间(" abc @ cd.com")在工作表中,但我想在代码级别处理此问题。有没有办法处理这种情况?

1 个答案:

答案 0 :(得分:4)

您应该使用单元格。getHyperlink()从单元格中获取超链接。

if(cell.getCellTypeEnum() == CellType.STRING){
    Hyperlink hyperlink = cell.getHyperlink();
    String value = cell.getRichStringCellValue().getString();
    if(hyperlink == null) {
        return value;
    } else {
        return value + " " + hyperlink.getAddress(); 
    }
}