2012-06-12 134 views
2

我用PHP5开发webapp来读取或实现xlsm文件。用PHP打开并写入xlms文件

我试过用PHPEXCEL,但这个库不支持xlsm-files格式。 我需要的一切都是打开文件,将数据写入并作为xlsm文件存储。 宏不应该改变。

重要的是文件返回包含宏,因为这个文件每天都用来做几次导入。我可能不会更改文件格式。

如果有人有针对此特定任务的提示或导师课程,请写信给我。

感谢您的4帮助

+0

你的问题是类似[this one](http://stackoverflow.com/questions/5913818/phpexcel-clone-xlsm-with-macros)。 – fsenart

回答

0

如果您需要从Excel模板保留宏,那么你需要,因为没有从PHP

+0

谢谢我会尝试使用COM,但首先安装在服务器上。我需要将xlsm文件保存在服务器上吗? – Janie

+0

服务器上MS Excel的副本将通过COM脚本在脚本的控制下打开文件,因此该文件需要从服务器的MS Excel中访问......所以是的,在服务器或磁盘上可访问从服务器 –

+0

hye Mark你知道如何加快xls文件的加载速度PHPBecel – Janie

0

处理宏任何其他库使用类似COM xslm文件实际上是ZIP文件,其中包含XML文档和其他资源。 PHPEXCEL和其他类似MS Office文件格式的读者和作者只能读取较旧的二进制BLOB格式,而不是较新的Office Open XML formats

尝试使用ZipArchive在PHP中打开该文件,并使用其中一个PHP XML库读取该文件中的xml。只要你不改变宏,宏就会被保留下来。

但是,如果您实际上需要执行这些宏,则需要完整的Office运行时。在这种情况下,您必须在带有Office副本的Windows上使用COM来运行该文件。

+0

PHPExcel同时读取BIFF文件(BIFF5至BIFF8).xls __和Office Open XML .xlsx文件。它只是不会在xlsm –

+0

中执行宏,这要感谢我尝试使用COM,但首先在服务器上安装它。我需要将xlsm文件保存在服务器上吗? – Janie