【发布时间】:2010-10-18 16:55:59
【问题描述】:
我正在使用 PHP fopen 创建一个 .xls 文件
写入内容并将其附加到文件中。与 Excel 2003 配合良好。
但 excel 2007 在作为不受支持的类型打开之前显示警报。
如果我创建扩展名为 .xlsx 的文件,它不会在 2003 年打开。
是否有任何标准方法在 2003 和 2007 版本中都可以正常工作。
【问题讨论】:
标签: php excel excel-2007
我正在使用 PHP fopen 创建一个 .xls 文件
写入内容并将其附加到文件中。与 Excel 2003 配合良好。
但 excel 2007 在作为不受支持的类型打开之前显示警报。
如果我创建扩展名为 .xlsx 的文件,它不会在 2003 年打开。
是否有任何标准方法在 2003 和 2007 版本中都可以正常工作。
【问题讨论】:
标签: php excel excel-2007
使用PHPExcel。它是免费的,可以直接读/写 Excel 03/07 文件。 PEAR库里有Spreadsheet_Excel_Writer,但是基本死了,只支持写BIFF5文件,对应Excel '95('97?不确定...)
【讨论】:
你实际写的是什么格式?编写 Excel 文件不仅仅是给任意文件一个扩展名为 xlsx 或 xls 的问题。
为了通用性,你可以写一个BIFF5或BIFF8 xls文件(所有版本的Excel post 95都会读这个),或者有Excel 2003 XML格式,Excel 2003和Excel2007都可以打开(和Excel 2010以及)。
【讨论】:
如果您不需要任何格式,甚至不需要多张工作表,最简单的方法就是创建一个逗号分隔的文件。 (.csv) 2003 和 2007 可以打开那些就好了。在 PHP 中也更容易处理
【讨论】:
我敢打赌,他想要做的事情与我想要的相同:创建一个制表符分隔的文件(而不是逗号分隔的文件),以避免处理单元格中的撇号或逗号。只是 $field_contents 。 "\t" 。 $next_field_contents
我们知道,如果我们创建一个以逗号分隔且扩展名为 CSV 的文件,浏览器会将其发送到 Excel(不知何故)。我想要的(提问者可能想要的)是一种方式:
那些不知道怎么做的,请嘘!但是如果有人知道这是否可能,请说出来!!!!
【讨论】: