【问题标题】:Read Microsoft Excel files from PHP on Windows在 Windows 上从 PHP 读取 Microsoft Excel 文件
【发布时间】:2014-10-08 01:42:31
【问题描述】:

我的 PHP 应用需要读取用户上传的任意大小的 Excel 文件而不丢失数据。

  • 纯 PHP 库只适用于非常小的文件。

  • ODBC 似乎是显而易见的选择,但我对 Microsoft 驱动程序(我发现的唯一驱动程序)的测试表明它们非常不可靠(并且文档记录不充分)。

  • MSDN 提到了无穷无尽的附加首字母缩略词(MDAC、OleDB、ADODB...),但最终,它们似乎都是 ODBC 驱动程序之上的包装器,存在所有缺陷。

在 Windows 服务器上从 PHP 读取 Microsoft Excel 文件的行业标准是什么?

【问题讨论】:

  • 另一位高级代表给出了这个答案stackoverflow.com/a/563679
  • 这是另一个paggard.com/projects/xls.reader,显然是由 MS Excel 生成的。我引用:“XLS Reader 是一个 PHP 类,它可以仅使用 PHP 读取二进制 XLS 文件(由 MS Excel 生成)。这个类不需要任何额外的 PHP 模块或 COM 对象,并且可以运行所有操作无论是否安装了 MS Excel,系统都没有任何依赖。”
  • 感谢您的指点,但我已经广泛探索了这条道路。问题是我确实有一台 Windows 计算机:我可以安装额外的 PHP 模块。或者调用 COM 对象。在任何事情上。当某些本机软件可以在 10 秒内读取文件时,我不需要等待 30 分钟,直到 PHP 耗尽系统 RAM 并崩溃。
  • 不客气,我相信你已经探索了这条路;就像我过去也研究过一样(实际上花了 2-3 天),但没有找到其他有效地完成这项工作的方法。据我所知,本身似乎没有行业标准。我搜索了 IBM 的开发人员部分,确实找到了一些,但他们大多提到将文件保存为 XML 电子表格。
  • @ÁlvaroG.Vicario:您应该已经意识到这一点,但请考虑要求用户创建 CSV 文件可能会造成一系列新的噩梦 ;-) 所以即时转换可能应该是首选。

标签: php windows excel


【解决方案1】:

除非被证明是错误的,否则我敢说,在面临从 PHP 读取 Excel 数据的任务时,运行 Windows 不会提供任何特别的竞争优势。没有任何工具可以快速可靠地直接访问数据,因此您必须使用在任何其他操作系统上使用的相同技巧。

到 CSV 的透明转换是一个有趣的解决方法,但是,虽然它可以用 Excel 本身完成(使用 COMinstantiate an Application.Excel object,假设你能负担得起 Microsoft Office 许可证)有@987654323 @。

暂时回答这个问题:可能根本没有行业标准。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-26
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2013-09-19
    • 1970-01-01
    相关资源
    最近更新 更多