我有一堆Excel文件,使用如下公式引用服务器上的其他文件:
'http://192.168.1.2/[blank.xls]Sheet1'!$A$1
公式中的Ips是硬编码的。我想将它们更改为引用另一个主机和路径,例如:
'http://192.168.1.3/reports/[report.xls]Sheet1'!$A$1
尝试像这样使用Apache POI:
for (int s = 0; s < workbook.getNumberOfSheets(); s++) {
HSSFSheet sheet = workbook.getSheetAt(s);
for (Row row : sheet) {
for (Cell cell : row) {
if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
cell.setCellFormula("'http://192.168.1.3/reports/[report.xls]Sheet1'!$A$1");
}
}
}
}
但是当我尝试获取值(使用cell.getCellFormula()
)时,我得到了:
#REF!$A$1
当我用MS Excel打开文件时,我得到了同样的效果。
如何正常工作?
P.S。使用Apache POI 3.8。