【问题标题】:Export HTML to EXCEL with PHP & jQuery使用 PHP 和 jQuery 将 HTML 导出到 EXCEL
【发布时间】:2010-12-10 17:19:37
【问题描述】:


我想将 HTML table 导出到 MS Excel 文档(最好是 PDF),因为它显示在 HTML/CSS 页面上。我阅读了很多关于它的页面和主题(主要是在堆栈上),但每个人似乎都在谈论导出表格,而不是格式化最终的 excel 文件。

我认为它应该像这样工作:

  1. 点击导出按钮:调用 jQuery
  2. jQuery 从table 的 HTML/CSS 创建一个纯 HTML 文档
  3. jQuery 调用 PHP 函数/类(可能是http://phpexcel.codeplex.com)从重新格式化的 HTML 代码生成 EXCEL 文件
  4. 通过 PHP 发送的标头,浏览器要求用户保存/打开 excel 生成的文件

这行得通吗?如果是这样,您知道任何 jQuery 插件和 PHP 类/函数可以这样做吗?如果没有,您对此有何想法?
编辑:感谢马特,我想到了使用 XLS 文件模板的想法,这可能吗?它将避免我在模板文件中完成的所有格式设置。有可能吗?


干杯,
尼古拉斯。

【问题讨论】:

  • 我认为只需要将 html 表转换为 csv 文件
  • 嗨,如果我这样做,我会丢失 HTML 文档的 CSS 格式。
  • 所以您也希望保留表格的 CSS 格式?
  • 是的,这就是为什么我想在将其发送到 PHP 之前使用 jQuery 将其格式化为 HTML 的原因。干杯
  • 我正在考虑使用 ASP.NET,但我可能错了。

标签: php jquery css export-to-excel


【解决方案1】:

听起来您希望 PHP 文件筛选 jQuery 生成的页面?这并非不可能(您可以使用 cUrl 函数来实现,查看this article)但是,如果您可以通过任何其他方式获取表数据,那将是更可取的。表数据是如何产生的?用户是否正在编辑表格?除非用户正在添加内容/样式,否则您应该能够从其他来源提取数据,这会更容易。

首先你应该知道在 PHP 中生成 Excel 文件主要有两种方法:

  1. 生成 CSV
  2. 为 Excel 使用生成符合 XML 的文档(通过 PHPExcel 或类似的 图书馆)

选项 1 不提供任何样式,只提供数据。

选项 2 可以添加样式(尽管由于 Excel 的繁琐格式而被严重混淆)。此外,您无法保证样式会转换为其他应用程序(OO.org、StarOffice、Lotus、WP Office 等) - XML 将不会一致地呈现,并且您的文档样式可能会丢失或降级。

如果你不得不求助于屏幕抓取,那么获取 css 样式将是最困难的部分。查看this article 中提供的一些解决方案,了解如何开始。

祝你好运!

【讨论】:

  • 嗨,马特,我知道 CSV 解决方案看起来最简单、最可靠,但我确实需要格式化 XLS 文件。也许我可以改用 XLS 模板? - 更新我的问题 - 干杯,
【解决方案2】:

这可能有助于编写实际的 Excel 电子表格...http://www.appservnetwork.com/modules.php?name=News&file=article&sid=8

我以前使用过它,但没有添加任何其他格式。我想这是可能的,不知何故......

【讨论】:

  • 可以修改这种简单的方法以支持条件格式,但是需要大量的精力和研究 xls 格式来弄清楚如何......更好地找到已经支持它的库.
  • 我看到了这个解决方案,Matt 是对的,正如 Matt 所说,我确实需要一个更通用的解决方案。无论如何感谢您的建议。
【解决方案3】:

我最终选择用 PHPexcel 重做所有格式。缺点是如果我在呈现的 HTML 中更改某些内容,我必须在我创建的 PHPexcel 助手中执行相同的操作,反之亦然。


谢谢大家的建议。
尼古拉斯。

【讨论】:

    猜你喜欢
    • 2016-06-30
    • 2013-07-09
    • 2013-07-11
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 2013-03-11
    • 2019-10-21
    相关资源
    最近更新 更多