将HTML表格转换为电子表格的PHP方法?

5

我正在生成一张充满数据的HTML表格。但是他们需要一个可编辑电子表格,以便可以保存和编辑。

目前,我已经按照他们的要求将其生成为HTML表格,是否有任何方法可以将其转换为他们可以下载的Excel电子表格呢?

谢谢!


可能需要添加一个“Excel”标签,这样其他有同样问题的人就可以轻松找到它 :) - Steven Mercatante
3个回答

5

以下是我使用过并且从未失效的工具:

 header('Cache-Control: no-store, no-cache, must-revalidate');     // HTTP/1.1
 header('Cache-Control: pre-check=0, post-check=0, max-age=0');    // HTTP/1.1
 header ("Pragma: no-cache");
 header("Expires: 0");
 header('Content-Transfer-Encoding: none');
 header('Content-Type: application/vnd.ms-excel;');                 // This should work for IE & Opera
 header("Content-type: application/x-msexcel");                     // This should work for the rest
 header('Content-Disposition: attachment; filename="'.basename('yourFilenameHere.xls').'"');

'yourFilenameHere.xls' 显然需要更改 :)


1
这是最简单和最方便的方法之一。Excel 直接从浏览器启动(不需要保存 CDF,打开 Excel,查找 CDF 并导入它)......当然,这里有一个对 Excel 的假设,但除此之外,它非常有效。 (注意-您可能希望将缓存设置为“cache” IIRC,IE6 存在问题,因为它尝试将“excel”文件保存到临时文件中,然后加载 Excel...然后尝试从临时文件中加载文件(它已经删除)-如果有人知道确切的 KB 文章,请发布。) - scunliffe
我尝试了这个方法,确实可以将它保存为Excel文件 :) ...但是当我尝试打开这个Excel文件时,系统提示格式错误。因此,我删除了所有的HTML标签,将其转换为纯TSV格式,然后以这种方式保存为Excel文件。虽然它确实保存为了Excel文件,但是在尝试打开它时仍然提示格式错误? - JD Isaacks
1
有一件事我发现了:确保“ID”不是第一个单元格。 - ceejayoz
我找出了为什么它不起作用,我使用的是 \n 但我需要使用 \r\n。 - JD Isaacks

4

+1:请正确处理并生成Excel文件,不要仅仅依赖于将HTML作为Excel进行处理。 - Ken Keenan

0

以逗号分隔值(CSV)的形式输出相同的数据。大多数电子表格应用程序都可以识别此格式。


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