thinkphp 导出exl功能

Posted 狂奔的蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 导出exl功能相关的知识,希望对你有一定的参考价值。

 

/**
    * 导出数据为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);
    }
}
$m = M (offer_goods);
        $where[offer_id] = $id;
           $arr = $m->field(goods_sn,goods_name,barcode,goods_type,price)->select();
        $f = $m->getlastsql();
    
        exportexcel($arr,array(商品货号,商品名称,商品条码,商品属性,报价(RMB)));

如果导出繁体中文出现空白,请把iconv("UTF-8", "GB2312",$v),改为 iconv("utf-8", "gb2312",$v);

以上是关于thinkphp 导出exl功能的主要内容,如果未能解决你的问题,请参考以下文章

NPOI _导出exl(简单应用)

JAVA中EXLS导入功能实现 - 代码

thinkphp-PHP实现pdf导出功能

如何将mysql的数据导出为exls表格

tablib把数据导出为ExcelJSONCSV等格式的Py库(写入数据并导出exl)

Thinkphp 3.2.2 利用phpexcel完成excel导出功能