【问题标题】:PHP: Turn HTML table into spread sheet?PHP:将 HTML 表格转换为电子表格?
【发布时间】:2009-10-15 16:56:45
【问题描述】:

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

我目前完全按照他们想要的方式拥有它,但是作为 HTML 表格,无论如何我可以将其转换为他们可以下载的 excel 电子表格吗?

谢谢!!

【问题讨论】:

  • 可能想在此添加一个“Excel”标签,以便其他有相同问题的人可以轻松找到它:)

标签: php excel php4 spreadsheet


【解决方案1】:

这是我使用的,还没有让我失望:

 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' 显然应该改变:)

【讨论】:

  • 这是最简单、最方便的方法之一。 Excel 直接从浏览器启动(不需要保存 CDF,打开 Excel,找到 CDF 并导入它)......当然这里有一个关于 Excel 的假设,但除此之外它工作得很好。 (注意 - 您可能希望将缓存设置设置为“缓存”IIRC,IE6 存在问题,它尝试将“excel”文件保存到临时文件,然后加载 Excel ......然后尝试从临时文件加载文件(它已经删除了)-如果有人知道确切的知识库文章,请发布。
  • 我试过了,它确实让我将它保存为 Excel 文件:) ...但是当我试图打开 Excel 文件时,我被告知它的格式错误。所以我删除了所有的 HTML 标签,把它变成纯 TSV 并以这种方式保存为 excel。它仍然保存为 excel 文件,但在尝试打开它时告诉我它的格式错误?
  • 我发现了一件事:确保“ID”不是第一个单元格。
  • 我知道为什么它不起作用,我正在使用 \n 但我需要使用 \r\n
【解决方案2】:

您可以使用Spreadsheet_Excel_Writer PEAR 包来获得可下载的文件作为输出。

【讨论】:

  • +1:正确操作并生成Excel文件;不要永远依赖 Excel 来处理 HTML-served-as-Excel
【解决方案3】:

输出与逗号分隔值 (CSV) 相同的数据。大多数电子表格应用程序都会识别这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 2020-07-19
    • 1970-01-01
    相关资源
    最近更新 更多