• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

thinkph到底怎样输出excel,小弟快急疯了

php 搞代码 4年前 (2022-01-23) 26次浏览 已收录 0个评论
文章目录[隐藏]

thinkph到底怎样输出excel,小弟快急疯了。前台是循环输出表格,name = “list” id = “vo”.点击按钮,怎样让它以表格的形式输出到excel,急疯了。大神快来帮忙

回复讨论(解决方案)

thinkphp导出excel,怎样把表格里的数据传递到后台?现在只差这一步了

用第3方的类试试
http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2009/0114/309.html

什么叫把表格的数据传递到后台~~~~~

你表格根据什么条件输出的,导出excel根据同样的条件查询数据不就行了?

这是你的第三帖了吧….

我还是这个方法

如果你用不了 有什么问题再进一步探讨 我是可以用的

/**        * 导出数据为excel表格        *@param $data    一个二维数组,结构如同从数据库查出来的数组        *@param $title   excel的第一行标题,一个数组,如果为空则没有标题        *@param $filename 下载的文件名        *@examlpe         $stu = M ('User');        $arr = $stu -> select();        exportexcel($arr,array('id','账户','密码','昵称'),'文件名!');    */     function exportexcel($data=array(),$title=array(),$filename='report'){        header("Content-type:application/octet-stream");        header("Accept-Ranges:bytes");        header("Content-type:application/vnd.ms-excel");          header("Content-Disposition:attachment;filename=".$filename.".xls");        header("Pragma: no-cache");        header("Expires: 0");        //导出xls 开始        if (!empty($title)){            foreach ($title as $k => $v) {                $title[$k]=iconv("UTF-8", "GB2312",$v);            }            $title= implode("\t", $title);            echo "$title\n";        }        if (!empty($data)){            foreach($data as $key=>$val){                foreach ($val as $ck => $cv) {                    $data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);                }                $data[$key]=implode("\t", $data[$key]);                             }            echo implode("\n",$data);        }     }

什么叫把表格的数据传递到后台~~~~~

你表格根据什么条件输出的,导出excel根据同样的条件查询数据不就行了?
这种思路我也想了,不过表格里的数据不是一个数组,而且还有序列($key }这个也是后台没有的

这是你的第三帖了吧….

我还是这个方法

如果你用不了 有什么问题再进一步探讨 我是可以用的

/**        * 导出数据为excel表格        *@param $data    一个二维数组,结构如同从数据库查出来的数组        *@param $title   excel的第一行标题,一个数组,如果为空则没有标题        *@param $filename 下载的文件名        *@examlpe         $stu = M ('User');        $arr = $stu -> select();        exportexcel($arr,array('id','账户','密码','昵称'),'文件名!');    */     function exportexcel($data=array(),$title=array(),$filename='report'){        header("Content-type:application/octet-stream");        header("Accept-Ranges:bytes");        header("Content-type:application/vnd.ms-excel");          header("Content-Disposition:attachment;filename=".$filename.".xls");        header("Pragma: no-cache");        header("Expires: 0");        //导出xls 开始        if (!empty($title)){            foreach ($title as $k => $v) {                $title[$k]=iconv("UTF-8", "GB2312",$v);            }            $title= implode("\t", $title);            echo "$title\n";        }        if (!empty($data)){            foreach($data as $key=>$val){                foreach ($val as $ck => $cv) {                    $data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);                }                $data[$key]=implode("\t", $data[$key]);                             }            echo implode("\n",$data);        }     }

我就是用的这个方法,$date这个数据就是表格里的数据,怎样把这个数组从前台传递到后台,实在不会

这是你的第三帖了吧….

我还是这个方法

如果你用不了 有什么问题再进一步探讨 我是可以用的

/**        * 导出数据为excel表格        *@param $data    一个二维数组,结构如同从数据库查出来的数组        *@param $title   excel的第一行标题,一个数组,如果为空则没有标题        *@param $filename 下载的文件名        *@examlpe         $stu = M ('User');        $arr = $stu -> select();        exportexcel($arr,array('id','账户','密码','昵称'),'文件名!');    */     function exportexcel($data=array(),$title=array(),$filename='report'){        header("Content-type:application/octet-stream");        header("Accept-Ranges:bytes");        header("Content-type:application/vnd.ms-excel");          header("Content-Disposition:attachment;filename=".$filename.".xls");        header("Pragma: no-cache");        header("Expires: 0");        //导出xls 开始        if (!empty($title)){            foreach ($title as $k => $v) {                $title[$k]=iconv("UTF-8", "GB2312",$v);            }            $title= implode("\t", $title);            echo "$title\n";        }        if (!empty($data)){            foreach($data as $key=>$val){                foreach ($val as $ck => $cv) {                    $data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);                }                $data[$key]=implode("\t", $data[$key]);                             }            echo implode("\n",$data);        }     }

这个方法能导出excel,没有问题,问题是我不会把表格里的数据传递到后台$data

上截图吧

“把表格里的数据传递到后台” 大概是个什么意思

u014244418 用户都急死了,答案在眼前,楼主用不来

u014244418 用户都急死了,答案在眼前,楼主用不来
刚才吃饭去了,马上上图

表格里的数据输出到excel,其中exportexcel方法就是四楼的方法。现在要把这个表里的数据传递到这个方法里面,我尝试着把这四个数据传过去,用input的形式只能传第一个值。

上截图吧

“把表格里的数据传递到后台” 大概是个什么意思
我就是用的你贴的代码,title和filename没问题。问题是data,把表格里的数据传递到后台你写的那个方法里,然后再把这些数据写成$data。问题是前台传不过去这些数据

这是你的第三帖了吧….

我还是这个方法

如果你用不了 有什么问题再进一步探讨 我是可以用的

/**        * 导出数据为excel表格        *@param $data    一个二维数组,结构如同从数据库查出来的数组        *@param $title   excel的第一行标题,一个数组,如果为空则没有标题        *@param $filename 下载的文件名        *@examlpe         $stu = M ('User');        $arr = $stu -> select();        exportexcel($arr,array('id','账户','密码','昵称'),'文件名!');    */     function exportexcel($data=array(),$title=array(),$filename='report'){        header("Content-type:application/octet-stream");        header("Accept-Ranges:bytes");        header("Content-type:application/vnd.ms-excel");          header("Content-Di<a style="color:transparent">本@文来源gao($daima.com搞@代@#码(网5</a><strong>搞gaodaima代码</strong>sposition:attachment;filename=".$filename.".xls");        header("Pragma: no-cache");        header("Expires: 0");        //导出xls 开始        if (!empty($title)){            foreach ($title as $k => $v) {                $title[$k]=iconv("UTF-8", "GB2312",$v);            }            $title= implode("\t", $title);            echo "$title\n";        }        if (!empty($data)){            foreach($data as $key=>$val){                foreach ($val as $ck => $cv) {                    $data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);                }                $data[$key]=implode("\t", $data[$key]);                             }            echo implode("\n",$data);        }     }

收藏,谢谢。

问题解决了,在后台又查询了一遍,真麻烦。但是不知道怎样调节excel的宽度,有的数据太大了

谢谢大家帮忙


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:thinkph到底怎样输出excel,小弟快急疯了

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址