我想将 HTML table
导出到 MS Excel 文档(最好是 PDF),因为它显示在 HTML/CSS 页面上。我阅读了很多关于它的页面和主题(主要是在堆栈上),但每个人似乎都在谈论导出表格,而不是格式化最终的 excel 文件。
我认为它应该是这样工作的:
- 点击导出按钮:调用 jQuery
- jQuery 从
table
的 HTML/CSS 创建一个纯 HTML 文档 - jQuery 调用 PHP 函数/类(可能是 http://phpexcel.codeplex.com)从重新格式化的 HTML 代码生成 EXCEL 文件
- 通过 PHP 发送的 header ,浏览器要求用户保存/打开 excel 生成的文件
这行得通吗?如果是这样,您知道任何 jQuery 插件和 PHP 类/函数可以这样做吗?如果不是,您对此有何看法?
编辑:感谢 Matt,我想到了使用 XLS 文件模板,这可能吗?它将避免我在模板文件中完成的所有格式设置。可能吗?
干杯,
尼古拉斯。
最佳答案
听起来您希望 PHP 文件对 jQuery 生成的页面进行屏幕抓取?这并非不可能(您可以使用 cUrl 函数这样做,请查看 this article )但是,如果您可以通过任何其他方式获取表格数据,那将是更可取的。表格数据是如何产生的?该表是否正在被用户编辑?除非用户正在添加内容/样式,否则您应该能够从其他来源提取数据,这样会更容易。
首先你应该知道在PHP中主要有两种生成Excel文件的方法:
- 生成 CSV 文件
- 生成一个 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/