1

デフォルトでは、サーバーから生成した .xlsx ファイルは、ユーザーのコンピューターで保護モードで開かれます。そのモードでは、数式を含む多くのセルがアクティブ化されないため、それらのセルには何も表示されないことに気付きました。編集モードではすべて問題ありません。そこで、セル数式が保護モードで機能することをプログラムで許可する方法があるかどうかを尋ねたいと思いますか? 私の開発環境は MVC4 で、ExcelCreator 8.0 を使用して Excel ファイルを生成しています。

*編集:私の主な関心事は、セルの値を数式で表示することです。これらは単純な SUM() 式です。ファイルを初めて開いたときに、それらのセルが空白になっていることに気付きました。しかし、初めて編集モードに切り替えたとき、編集せずにすぐにファイルを保存してから、次に保護モードで開いたときに、それらのセルにいくつかの値が表示されます。それでは、最初に編集モードで開かずに、少なくともこれらの値を保存するようにプログラムできますか?

4

1 に答える 1

2

保護モードは、Excel での数式の (再) 計算を防ぎます。考えられる解決策は 2 つあります。

  • プロテクト モードを無効にする: これは、クライアントに巨大な攻撃対象領域を開くため、絶対にお勧めできません。その上、それはあなたがコントロールできる範囲を超えているかもしれません。
  • 式の結果の事前計算: サーバー側でスプレッドシートを生成する場合、式の結果を事前に計算し、結果をセルに入力できます。そうすれば、保護されたビューでドキュメントを開いた場合でも、Excel は正しい値を表示します。数式を自分で計算するのが複雑すぎる場合は、費用はかかりますが、Excel Servicesを使用することもできます。
于 2016-02-23T09:52:12.297 に答える