首页 > 解决方案 > LibXL:打开 MS excel 文件时如何强制重新计算公式?

问题描述

在 MS excel 文件中,用户已设置手动重新计算公式。在将数据写入文件后,我想强制使用 LibXL 自动重新计算。这有可能吗?

我搜索了文档,但找不到任何相关内容。在我打开使用 LibXL 创建的文件后,LibreOffice 会自动重新计算公式,但 Microsoft Office 不会。

显示我的代码没有意义。LibXL 是否具有标志/方法来执行此操作。

在完成使用 LibXL 创建文件并在 MS Office 中打开文件后,我希望公式会自动执行。

注意:我使用的是 PHP

标签: phpexcel-formulalibxl

解决方案


如果用户第一次打开文件并且用户计算机上没有打开任何窗口,则计算模式在 MS excel 上默认设置为“自动”。但是在打开您的工作簿之前,如果用户以某种方式在他的其他工作簿上激活了手动计算模式,您的文件也将以手动模式打开。

我不确定 PHP 是如何参与其中的。但要强制自动计算,您可以在文件中添加一个简单的打开事件宏。

Sub Workbook_Open()
 Calculate
End Sub

将此复制到 Visual Basic 窗口中的工作簿对象中。每次打开文件时都会执行此宏。

希望这可以帮助


推荐阅读