【发布时间】:2011-08-05 04:23:04
【问题描述】:
我正在尝试使用 POI SS 将 Excel 电子表格转换为 CSV。不幸的是,我似乎无法正确处理 HYPERLINK 函数:
if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
System.out.println("formula cell: " + cell.toString());
switch (cell.getCachedFormulaResultType()) {
case Cell.CELL_TYPE_BOOLEAN:
return Boolean.toString(cell.getBooleanCellValue());
case Cell.CELL_TYPE_NUMERIC:
return NUMERIC_FORMAT.format(cell.getNumericCellValue());
case Cell.CELL_TYPE_BLANK:
return "";
default:
// Special case handling for HYPERLINK cells
if (cell.getHyperlink() != null) {
System.out.println("found hyperlink: " + cell.getHyperlink().getAddress());
return cell.getHyperlink().getAddress();
}
System.out.println("something else: " + cell.toString());
return cell.toString();
}
}
不幸的是,即使它将此单元格解释为 FORMULA 单元格,cell.getHyperlink() 返回 null 所以 cell.toString() 只返回完整的公式,如:
=HYPERLINK("http:...","...")
如何让它正常工作?
【问题讨论】:
标签: java excel spreadsheet apache-poi