tp框架中导出csv文件excel能打开

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tp框架中导出csv文件excel能打开相关的知识,希望对你有一定的参考价值。

控制器代码!

 public function dc(){

         if($lx = I(‘get.lx‘))
        {
            $where[‘zhonglei‘] = array(‘eq‘,$lx);
        }
        if($qsrq = strtotime(I(‘get.qsrq‘)))
        {
            $where[‘time‘] = array(‘gt‘,$qsrq);
        }
        if($jsrq = strtotime(I(‘get.jsrq‘)))
        {
            $where[‘time‘] = array(‘lt‘,$jsrq);
        }
         $data = session(‘id‘);
         $where[‘gid‘] = array(‘eq‘,$data);
        $hotel = M(‘Order‘)->where($where)->field(‘yonghuming,shdizhi,yhdianhua,spmingcheng,zhonglei,yanse,chima,shuliang,zongjine,yfdingjin,dsjine,huohao,kefu,kefuwx,beizhu,ddzt,kuaidi‘)->select();

        $str = "买家名称,收货地址,联系电话,商品名称,商品种类,颜色,尺码,数量,总金额,预付定金,代收金额,商品编号,客服名称,客服微信,备注信息,订单状态,快递单号\n";
        $str = iconv(‘utf-8‘,‘gb2312‘,$str);

        // $con = mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME);
        // $result = mysqli_query($con,"select yonghuming,shdizhi,yhdianhua,spmingcheng,zhonglei,yanse,chima,shuliang,zongjine,yfdingjin,dsjine,huohao,kefu,kefuwx,beizhu,ddzt,kuaidi from jxshop_Order where gid = ‘$data‘");
        //
        //
        //
        // while($row=mysql_fetch_array($result)){
        
        foreach ($hotel as $row) {
            $yonghuming = iconv(‘utf-8‘,‘gb2312‘,$row[‘yonghuming‘]);
            $shdizhi = iconv(‘utf-8‘,‘gb2312‘,$row[‘shdizhi‘]);
            $yhdianhua = iconv(‘utf-8‘,‘gb2312‘,$row[‘yhdianhua‘]);
            $spmingcheng = iconv(‘utf-8‘,‘gb2312‘,$row[‘spmingcheng‘]);
            $zhonglei = iconv(‘utf-8‘,‘gb2312‘,$row[‘zhonglei‘]);
            $yanse = iconv(‘utf-8‘,‘gb2312‘,$row[‘yanse‘]);
            $chima = iconv(‘utf-8‘,‘gb2312‘,$row[‘chima‘]);
            $shuliang = iconv(‘utf-8‘,‘gb2312‘,$row[‘shuliang‘]);
            $zongjine = iconv(‘utf-8‘,‘gb2312‘,$row[‘zongjine‘]);
            $yfdingjin = iconv(‘utf-8‘,‘gb2312‘,$row[‘yfdingjin‘]);
            $dsjine = iconv(‘utf-8‘,‘gb2312‘,$row[‘dsjine‘]);
            $huohao = iconv(‘utf-8‘,‘gb2312‘,$row[‘huohao‘]);
            $kefu = iconv(‘utf-8‘,‘gb2312‘,$row[‘kefu‘]);
            $kefuwx = iconv(‘utf-8‘,‘gb2312‘,$row[‘kefuwx‘]);
            $beizhu = iconv(‘utf-8‘,‘gb2312‘,$row[‘beizhu‘]);
            $ddzt = iconv(‘utf-8‘,‘gb2312‘,$row[‘ddzt‘]);
            $kuaidi = iconv(‘utf-8‘,‘gb2312‘,$row[‘kuaidi‘]);
            $str .= $yonghuming.",".$shdizhi.",".$yhdianhua.",".$spmingcheng.",".$zhonglei.",".$yanse.",".$chima.",".$shuliang.",".$zongjine.",".$yfdingjin.",".$dsjine.",".$huohao.",".$kefu.",".$kefuwx.",".$beizhu.",".$ddzt.",".$kuaidi."\n";
        }
        $fileName = date(‘Ymd‘).‘.csv‘;
        $model = D(‘Order‘);
        $model->export_csv($fileName,$str);
        exit;


    }

 

模板代码!

/***********文件导出*************/
    public function export_csv($filename, $data){
        header("Content-type:text/csv");   
        header("Content-Disposition:attachment;filename=".$filename);   
        header(‘Cache-Control:must-revalidate,post-check=0,pre-check=0‘);   
        header(‘Expires:0‘);   
        header(‘Pragma:public‘);
        echo $data;
    }

 

视图代码

<form action="{:U(‘dc‘)}" name="dcForm">
            <!-- 导出 -->
      
            商品种类:<input type="text" name="lx" size="15" value="{:I(‘get.lx‘)}"/>
            起始日期:<input type="text" name="qsrq" size="15" value="{:I(‘get.qsrq‘)}"/>
             结束日期:<input type="text" name="jsrq" size="15" value="{:I(‘get.jsrq‘)}"/>
            <input type="submit" class="button" value="导出订单" />
 </form>

我的日期 俩结合起来 有点问题  我就弄的其实日期到当前日期  如果添加 开始日期和结束日期 导出的东西 就有问题  and 不知道 咋回事  where条件估计 有问题  我项目中 吧结束日期 隐藏了  请忽略我用拼音首字符写的数据  嘿嘿嘿~ 小白 才做半年  英语不好  多多向大家学习了  有问题  可以留言  我尽量吧我能弄懂的 告诉大家 我的代码 如果 有问题 请大家 告诉我  谢谢了 相互学习

以上是关于tp框架中导出csv文件excel能打开的主要内容,如果未能解决你的问题,请参考以下文章

访问数据项目在VBA中导入CSV文件

在 to_csv 命令中选择 index=False 选项时,Excel 未打开 csv 文件

mac中导出CSV格式在excel中乱码

怎么把数据库里的东西导出为CSV格式的文件

MongoDB中导出数据为csv文件

csv文件怎么转换为Excel文件