如何解决PHP:将HTML表导出到Excel包括整个表格吗?
| 我有一个显示html表单的PHP文件,并在提交时从MysqL数据创建一个html表,并将其导出到excel。 我的问题是整个HTML表单与表数据一起输出到excel文件。 我的代码是:<html form..>
<?PHP
if(isset($_POST[\'submit\'])){
//get sql data and create html table in variable (ie $data=\"<table>..\")
header(\"Content-type: application/vnd.ms-excel\");
header(\"Content-disposition: attachment; filename=$file\");
echo \"$data\";}
?>
我只希望在我的.xls中显示\“ $ data \”,但是整个ѭ1都在显示,请提交按钮和全部。
谢谢。
解决方法
标头调用之前,不应将任何输出发送到浏览器。
在提交过程下面定义您的html表单。
<?php
if(isset($_POST[\'submit\'])){
//get sql data and create html table in variable (ie $data=\"<table>..\")
header(\"Content-type: application/vnd.ms-excel\");
header(\"Content-Disposition: attachment; filename=$file\");
echo \"$data\";
}
?>
<html form..>
,写入输出缓冲区的所有数据都将包括在内。
标头调用最好在任何输出之前完成。但是对于文件的组织方式,您可以执行以下操作:
<html form..>
<?php if(isset($_POST[\'submit\'])){
//get sql data and create html table in variable (ie $data=\"<table>..\")
// Clean the output buffer so it won\'t mess up your excel export
ob_clean();
header(\"Content-type: application/vnd.ms-excel\");
header(\"Content-Disposition: attachment; filename=$file\");
echo $data; // no need for quotes here since you only echo your variable
}
?>
,如果您在表示层(在html文件中有条件的ifs)中执行逻辑,那么将表单代码包装到其中就足够了
if(!isset($_POST[\'submit\'])){
您最好的方法是将导出操作重定向到其他脚本:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。