我认为这确实是一个关于方法的问题。
我们有一个来自第三方的核心 Excel 电子表格,它提供了对原始数据的一些复杂分析。原始数据直接来自客户的第二个电子表格。
我们希望创建一个基于网络服务器的自动化系统,可以上传原始数据 Excel 文件并进行分析并生成报告。
报告生成没有问题,但是在应用程序中实际使用核心 Excel 电子表格本身进行数学计算(例如使用 PHPExcel)是否有任何困难?或者最好的方法总是在代码中复制分析?
我们的想法是,分析(来自第三方)相当复杂,因此需要大量的拆解才能在 PHP 中复制,其次,分析的部分内容经常被第三方调整,这意味着新版本的分析Excel 会定期提供给我们。
我可以想象使用 PHPExcel 做这样的事情,在内存中创建工作表并将原始数据合并为第二个工作表,然后读出计算结果,但这是否现实 - 会不会太慢 - 或者根本不起作用我想象得怎么样?
任何想法将不胜感激。
根据 Excel 公式的复杂性,使用 PHPExcel 的计算引擎是完全可行的,但您需要注意一些潜在的“陷阱”。
- 并非所有 Excel 函数都完全支持(提供了一个列表
在 PHPExcel 文档中,但我认为 356 个函数中有 316 个
现已支持)
- 分析工具包中的 Excel 函数不
支持 BIFF (.xls) 工作簿;尽管他们将与
OfficeOpenXML (xlsx) 工作簿
- 用户定义的函数不是
支持的
- 不支持宏和其他 VB 代码
- 数组公式
尚不支持(这是计划的重要部分
由于年底开始重写计算引擎)
- 不支持单元格引用的 R1C1 格式
它相对较慢(部分原因是它需要重写)。您当然可以编写 PHP 代码来更有效地执行您需要的公式,因为您可以根据您的特定要求进行编码。 PHPExcel 是否会太慢?只有您才能确定“太慢”的实际含义。
请注意,通常最好提交对大量内存或耗时任务的请求以在 Web 服务器外部运行
另一方面,如果您的客户曾经更改过他们的电子表格(并且您指出这种情况相当频繁),那么使用 PHPExcel 的内置计算引擎意味着它仍然可以毫无问题地工作,而自定义编写的代码则需要修改。
正如您已经指出的,复杂的公式可能需要大量工作才能转换为 PHP 代码;取消对电子表格中公式所做的更改将特别困难。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)