1

默认情况下,我们从我的服务器生成的 .xlsx 文件将在用户计算机上以保护模式打开。在该模式下,我注意到许多带有公式的单元格不会被激活,因此这些单元格上不会显示任何内容。在编辑模式下一切正常。所以我想问一下是否有任何方法可以以编程方式允许单元格公式在保护模式下工作?我的开发环境是MVC4,使用ExcelCreator 8.0生成excel文件。

*编辑:我主要关心的是用公式显示单元格的值。它们只是一些简单的 SUM() 公式。我注意到第一次打开文件时,这些单元格是空白的。但是当我第一次切换到编辑模式并且没有编辑时,立即保存文件,然后下次我在保护模式下打开它时,这些单元格有一些值要显示。那么我们至少可以对其进行编程以保存这些值而无需先打开编辑模式吗?

4

1 回答 1

2

保护模式可防止在 Excel 中(重新)计算公式。有两种可能的解决方案:

  • 禁用保护模式:绝对建议这样做,因为它会在客户端上打开一个巨大的攻击面。此外,它可能超出您的控制范围。
  • 预先计算公式结果:当您在服务器端生成电子表格时,您可以预先计算公式的结果并用结果填充单元格。这样,即使在受保护的视图中打开文档,Excel 也会显示正确的值。如果自己计算公式过于复杂,则使用E​​xcel Services可能是另一种选择,尽管成本很高。
于 2016-02-23T09:52:12.297 回答