Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Excel创建-文件类型无效_Php_Excel_Warnings - Fatal编程技术网

PHP Excel创建-文件类型无效

PHP Excel创建-文件类型无效,php,excel,warnings,Php,Excel,Warnings,我正在使用php创建一个excel文件,如下所示: header("Content-type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=invoice.xls"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); echo "<table><tr><th>T

我正在使用php创建一个excel文件,如下所示:

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=invoice.xls");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
echo "<table><tr><th>Test</th></tr><tr><td>...</td></tr></table>";
标题(“内容类型:application/vnd.ms excel”);
标题(“内容处理:附件;文件名=invoice.xls”);
标头(“缓存控制:必须重新验证,后检查=0,前检查=0”);
回声“测试…”;
当我尝试打开文件时,excel会发出警告,指出文件类型不正确。但是,该文件显示正确,完全像我希望它


有没有办法防止出现此错误消息?

最好的办法是为自己创建一个Excel文件并将其保存为HTML,然后在某个文本编辑器中打开它,查看垃圾。您最终会发现在PHP脚本中输出什么,这样Excel就不会抱怨文件类型和扩展名。

最好的方法是为自己创建一个Excel文件并将其保存为HTML,然后在一些文本编辑器中打开它并查看垃圾。您最终会发现在PHP脚本中输出什么,这样Excel就不会抱怨文件类型和扩展名。

您生成的文件输出不是真正的Excel格式,因此Excel抱怨它是正确的。有几个php软件包用于制作excel文件,如。另一个选项是将该文件作为“普通”.html文件提供,并指示用户在excel中打开它


希望这有帮助

您正在生成的文件输出实际上不是excel格式,因此excel对此的抱怨是正确的。有几个php软件包用于制作excel文件,如。另一个选项是将该文件作为“普通”.html文件提供,并指示用户在excel中打开它


希望这有帮助

您可以尝试制表符分隔格式 我不确定它是否会抱怨加载了它 例如echo“$col\t$col\t$col\t$col\n”

我还使用了pear excel生成库 它们生成BIFF格式的excel文件, 它使用起来非常简单,而且您还可以控制单元格的格式
例如字体、大小、颜色等

您可以尝试制表符分隔格式 我不确定它是否会抱怨加载了它 例如echo“$col\t$col\t$col\t$col\n”

我还使用了pear excel生成库 它们生成BIFF格式的excel文件, 它使用起来非常简单,而且您还可以控制单元格的格式
例如字体、大小、颜色等

谢谢,我会试试。。。除非其他人告诉我php文件中应该包含什么“垃圾”…最容易复制的格式是Excel XML文件-因此,如果您打算采用这种方法,我建议您复制它。谢谢,我会尝试。。。除非其他人能告诉我我的php文件中应该包含什么“垃圾”…最容易复制的格式是Excel XML文件-因此,如果你打算采用这种方法,我建议复制它。那么你实际上是说lonut G.Stan提出的解决方案行不通?@Fortega,试试看怎么样?我试过你的代码,它抱怨了。然后,我将一个电子表格保存为HTML文件,打开它时没有抱怨。我很确定它会工作,但您仍然必须将该文件作为HTML文件提供(即扩展名为.HTML)。如果是这样,最终用户可能仍然会在HTML文件(如webbrowser)的应用程序中而不是excel中打开该文件。@ylebre:这不是我想要的@lonut:它不会抱怨,因为它是一个html文件,应该是一个。xls@Fortega-Excel确实会因为文件扩展名而抱怨…即使它能够将html文件作为有效的电子表格进行处理,通过给文件提供xls扩展名,您告诉Excel它是本机文件,当它不起作用时。那么你实际上是说上面lonut G.Stan提出的解决方案不起作用了?@Fortega,试试看怎么样?我试过你的代码,它抱怨了。然后,我将一个电子表格保存为HTML文件,打开它时没有抱怨。我很确定它会工作,但您仍然必须将该文件作为HTML文件提供(即扩展名为.HTML)。如果是这样,最终用户可能仍然会在HTML文件(如webbrowser)的应用程序中而不是excel中打开该文件。@ylebre:这不是我想要的@lonut:它不会抱怨,因为它是一个html文件,应该是一个。xls@Fortega-Excel确实会因为文件扩展名而抱怨…即使它能够将html文件作为有效的电子表格进行处理,但如果给该文件一个xls扩展名,您会告诉Excel它是本机文件,而不是。