2010-09-15 90 views
-2

请检查我的编码创建excel文件并下载。存储和下载excel文件在php

 header("Pragma: public"); 
     header("Expires: 0"); 
     header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
     header("Content-Type: application/force-download"); 
     header("Content-Type: application/octet-stream"); 
     header("Content-Type: application/download");; 
     header("Content-Disposition: attachment;filename=export.xls "); 
     header("Content-Transfer-Encoding: binary "); 

     echo "<table style='border: 1px solid red;border-color:red' cellspacing='0'>"; 
     echo "<tr>"; 
     echo "<th style='background-color:yellow;border:1px solid red'>Link id</th><th style='background-color:yellow;border:1px solid red'>Priority</th><th style='background-color:yellow;border:1px solid red'>Year</th><th style='background-color:yellow;border:1px solid red'>Make</th><th style='background-color:yellow;border:1px solid red'>Model</th><th style='background-color:yellow;border:1px solid red'>Input URL</th><th style='background-color:yellow;border:1px solid red'>Changes Found</th><th style='background-color:yellow;border:1px solid red'>Output filename</th><th style='background-color:yellow;border:1px solid red'>No of Changes</th>"; 
     echo "</tr>"; 
     echo "</table>"; 

在此先感谢

+0

检查如何的形象?什么不行? (除了它不是一个真正的Excel文件,但我认为你知道这一点,这是概念的一部分) – 2010-09-15 05:24:18

+0

@Pekka - “不是一个真正的Excel文件”......这些天,我不再感到惊讶的是,相信具有.xls扩展名的HTML或CSV真的是Excel文件,或者认为PHP在自己的头文件中定义内容类型时自动将其HTML/CSV转换为真正的Excel文件的人数。 – 2010-09-15 07:49:47

+0

使用一个Content-Type头而不是三个(application/vnd.ms-excel是真正的Excel文件的正确MIME类型),并且每行末尾只需要一个分号(;) – 2010-09-15 07:52:22

回答

2

使用外部库像PHP Excel创建Excel文件,然后把它下载。是最简单的方法,你不必重新发明轮子。我用过这个库,非常好。或者你认为可以使用COM函数来做同样的事情,尽管我从来没有用过它们。

+0

+1是唯一真正适合的解决方案(尽管我可以看到建造表格的简单性如何诱人) – 2010-09-15 09:23:18

+0

这些日子之一,我将为PHPExcel创建一个可用于HTML阅读器将HTML转换为XLS/XLSX的方式与Excel可以完成的方式大致相同。这将允许用户构建他们的HTML表格并将其导出为真正的Excel文件 – 2010-09-15 09:29:26

+0

您的意思是指您的PHP Excel链接指向PHP COM页面吗? – 2010-09-15 09:30:59

1

如果你用<table>编写excelfile,excel会向用户发送一条警告,试图打开excel文件,该文件似乎不是普通文件,如果他们想打开它无论如何。

http://i.stack.imgur.com/bx8ZY.png < - 警告