网页实现excel的最佳方法另存为

时间:2012-12-19 20:56:16

标签: php excel web

通过点击“另存为”

,最佳的代码编写方式将允许用户保存表格数据

以下是方案

我创建了一个网页,列出了mysql数据库(在php中创建的应用程序)中的数据。

页面列出数据并提供“另存为”按钮,以便将数据保存到用户本地计算机(csv,xml等)。

技术

以下是执行此操作的最佳方式 1)从查询mysql db的同一个php程序中将数据保存到文件中? 2)当用户点击网页上的“另存为”时,ajax将数据从#1(服务器)流式传输到用户本地计算机

我已经阅读了一些关于如何创建xml数据(opendocument,openxml)和php excel / xml库的内容,但只是不完全理解流程;应该在查询时创建文件,数据如何到达用户本地计算机等。或者是否有不同的方法来执行此操作?

由于

1 个答案:

答案 0 :(得分:1)

主要有两种方法:

浏览器以任何方式知道它处理文件下载而不是只通过HTTP标题处理其他网页:

// specify the MIME-type 
// (e.g. if it's an image or PDF most browser can display the content directly)
header('Content-Type: text/csv; charset=utf-8');

// The Content-Disposition response-header field has been proposed 
// as a means for the origin server to suggest a default filename 
// if the user requests that the content is saved to a file.
header('Content-Disposition: attachment; filename=data.csv');

您可以在此处详细了解:http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html

最后,这完全取决于您和您的要求。它是一个低流量站点,文件很小? - 预先生成文件,让Web服务器处理下载链接。它是一个拥有大量小文件的高流量网站吗? - 也许可以动态生成它(就像在CSV示例中一样)。不是每个人都应该能够下载每个文件,并且您的php项目管理身份验证? - 使用自定义的download.php脚本来检查权限会更容易。