使用 cell.setCellFormula(null) 方法,我们可以删除公式,但它会影响具有取决于此单元格的值的单元格。我想从整个工作表中删除所有公式而不更改任何单元格的值。请给我一些想法...
问问题
4701 次
1 回答
1
你的问题有点模棱两可,但我会猜测你在追求什么,然后回答我认为你的意思......
假设一个看起来像这样的 excel 文件:
| | A | B | C |
| 1 | 2 | 4 | 6 |
| 2 | =SUM(A1:C1) | =A2*3 | =A2*4 |
我相信您所追求的是从 A2 中删除公式,但保留当前计算的值 (12),以便公式 B2 和 C2 不受影响?
有两种方法可以做到这一点。如果您刚刚加载了文件,并且没有对其进行任何更改,那么这很容易。您需要做的就是将单元格类型从公式单元格更改为数值单元格。它将保留旧的计算值。
sheet.getRow(1).getCell(0).setCellType(Cell.CELL_TYPE_NUMERIC);
如果您对文件区域进行了其他更改,那么您需要做的是评估单元格,然后用评估值替换内容。您可以使用evaluteInCell方法通过公式解析器执行此操作。
于 2012-06-14T16:10:50.083 回答