我有一个相当复杂的电子表格公式。现在,我使用PHPExcel将电子表格加载到内存中,并将公式输入的单元格值设置为来自前端表单的值(使用ajax),获得计算结果并将其发送回客户端。
这是最好的方法吗?或者应该将公式转换为纯php?
如果这是一个可以接受的方法,我对并发性和内存使用有顾虑。
电子表格并没有那么大,少于1000个单元格。如何计算并发(人们在前端单击计算)的阈值和服务器上的内存使用量?
在平衡性能的同时,我可以采取哪些步骤来优化此算法(例如缓存)?
发布于 2013-04-23 20:40:01
作为大量并发用户的ajax请求执行此操作将会出现问题,因为这些http请求不具有持久性,因此需要为每个请求加载电子表格文件。它所保证的是,每个请求都独立运行,并具有自己的电子表格副本,因此不会有单独用户的请求影响任何其他用户的请求。
另一个极端是将所有Excel逻辑用PHP重写。您没有给出任何关于电子表格公式的复杂性的指示,因此很难判断这项任务有多复杂。
第三种选择是只使用PHPExcel的计算引擎,直接向它提供表单值和公式。这消除了每次请求加载电子表格文件的时间和内存开销,因此可能是最简单和最有效的选择。您可以在PHP发行版的/Tests目录中的Quadatic2.php示例文件中找到此示例。
https://stackoverflow.com/questions/16178577
复制相似问题