我该如何使用PHP读取.xls文件(Excel)?

10

我需要将一个 .xls 文件转换成文本,不需要任何格式。

这个文件里面有一些产品编号,比如 PN-5098P,我需要用 preg_match_all 函数来获取这些编号。

有什么最简单的解决方案吗? 我尝试了在普通文本编辑器中打开文件,但编号没有显示出来,所以我猜我需要某种二进制转换工具?


14
.xlsx 文件本质上是二进制垃圾。你需要一个适当的 Excel 解析库来处理这个问题。试图自己编写一个将会导致疯狂,秃头和最终的自杀。 - Marc B
"Microsoft Excel在2007年之前的版本中使用一种专有的二进制文件格式,称为二进制交换文件格式(BIFF)作为其主要格式。""默认的Excel 2007工作簿格式实际上是一个带有XML文本文档目录结构的ZIP压缩存档。" - Smamatti
3个回答

6

XLS是一种复杂的专有格式,可能很难处理。如果您使用Clint suggested等库时遇到困难,请考虑仅接受更简单的格式,例如CSV,这种格式非常容易处理。如果该解决方案在此情况下可接受,将使您的生活更加轻松。


6

1
我使用xls2mysql.com将我的Excel表格转换为MySQL,但它并不完美。它不能识别像-、/、é、ü、ô等字符。我一直在绕过这个问题,通过将这些字符转换为哈希标签之间的数字(例如#4#代表-),然后再进行还原,但这有点麻烦。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接