用php将xls转换为ods
Posted
技术标签:
【中文标题】用php将xls转换为ods【英文标题】:xls to ods conversion with php 【发布时间】:2012-02-04 02:26:50 【问题描述】:最近我正在为一个项目工作,我被困在一块石头和一个坚硬的地方之间。 一方面,我有一个第三方组件,可以为我提供 .xls 格式的特定报告。 这个组件不是我控制的,就这样吧。
另一方面,我有一个 ods 解析器,可以将所有数据解析到 mysql 中。 这也无法更改,因为我需要该文件实际上是 ods 以便进一步操作。另外,委托该项目的一方也是这样要求的。
有没有办法用php将xls转换成ods?也许中间还有一步。也许是 XML 或类似的东西? 这一切都在 LAMP 上运行,坦率地说,我什至不介意一些命令行工具来
【问题讨论】:
如果 xls 是 pre-office 2007 格式,您可以查看php-spreadsheetreader。如果您正在处理较新的 excel 格式……那已经是 XML,因此使用 DOM 或 SimpleXML 读取数据并以 ODS 格式将其吐回应该相对简单。 【参考方案1】:COM 的 Open Office 替代方案,称为 PUNO,是第一个想到的选项。实际上,它为您提供了一个指向需要在 LAMP 堆栈上运行的 OO 本身副本的接口。 Calc 可以读取 xls,然后“另存为”ods。
第二种选择是使用Ilia Alshanetsky's Excel extension,它是商业 libxl 库的包装器(成本约为 199 美元)。
直到 2012 年第二季度左右,PHPExcel 才可以选择它,尽管它在开发路线图上。其他PHP Spreadsheet reader/writer libraries 都不提供从 Excel 文档编写非 Excel 格式的功能;因此,如果您使用任何现有的阅读器库,则需要“推出自己的”编写器。
【讨论】:
以上是关于用php将xls转换为ods的主要内容,如果未能解决你的问题,请参考以下文章
将 .odt .doc .ods 文件转换为 .txt 文件
使用 Google AppS 脚本将 .csv 文件转换为 .xls