0

cell.setCellFormula(null) メソッドを使用して式を削除できますが、このセルに依存する値を持つセルに影響します。セルの値を変更せずに、シート全体からすべての数式を削除したい。アイデアを教えてください...

4

1 に答える 1

1

あなたの質問は少し曖昧ですが、私はあなたが何を求めているのかを推測し、あなたが何を意味していると思うかについて答えます...

次のようなExcelファイルを想定します。

|   |      A      |     B   |    C    |
| 1 |      2      |     4   |    6    |
| 2 | =SUM(A1:C1) | =A2*3   | =A2*4   |

あなたが求めているのはA2から数式を削除することだと思いますが、数式B2とC2が影響を受けないように、現在計算されている値(12)を残しますか?

これを行うには2つの方法があります。ファイルをロードしたばかりで、ファイルに変更を加えていない場合は、非常に簡単です。セルタイプを数式セルから数値セルに変更するだけです。古い計算値を保持します。

sheet.getRow(1).getCell(0).setCellType(Cell.CELL_TYPE_NUMERIC);

すでにファイルに他の変更を加えている場合は、セルを評価してから、内容を評価値に置き換える必要があります。これは、 evaluteInCellメソッドを使用して、数式パーサーで実行できます。

于 2012-06-14T16:10:50.083 に答える