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

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


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


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


干杯,
尼古拉斯

最佳答案

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

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


产生CSV
生成供Excel使用的XML兼容文档(通过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/

10-11 09:32
查看更多