php - 使用 PHP 和 jQuery 将 HTML 导出到 EXCEL

标签 php jquery css export-to-excel


我想将 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 发送的 header ,浏览器要求用户保存/打开 excel 生成的文件

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


干杯,
尼古拉斯。

最佳答案

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

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

  1. 生成 CSV 文件
  2. 生成一个 XML 兼容的文档供 Excel 使用(通过 PHPExcel 或类似的 图书馆)

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

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

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

祝你好运!

关于php - 使用 PHP 和 jQuery 将 HTML 导出到 EXCEL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4411503/

相关文章:

PHP 引用 `$this`

php - 使用 PHP 通过选择菜单发送 id

php - 仅在生产中空左连接

javascript - 简单的垂直上一个和下一个按钮代码,点击时使用 jQuery 上下移动

javascript - 使用 AngularJS 自定义可过滤下拉菜单

php - 如何替换 Netbeans 中的字符串?

html - 为什么包含字形时 svg 文件不显示正确的字体?

IE9 的 CSS 绝对定位错误

javascript - 更改表中第一行的背景颜色

jquery - 动态表单元素 Bootstrap