yii框架phpexcel

本文介绍使用Yii框架从数据库中获取订单信息,并将其转换为HTML表格形式,最终通过PHPExcel库实现订单数据的Excel导出。
 
//控制器调用
$id=\Yii::$app->request->get('id');
        $arr=\Yii::$app->exam->createCommand("select * from `order` INNER JOIN movie on `order`.movie_id=movie.id where `order`.id in ($id)")->queryAll();
        $strTable ='<table width="500" border="1">';
        $strTable .= '<tr>';
        $strTable .= '<td style="text-align:center;font-size:12px;" width="150px">订单</td>';
        $strTable .= '<td style="text-align:center;font-size:12px;" width="*">姓名</td>';
        $strTable .= '<td style="text-align:center;font-size:12px;" width="*">电话</td>';
        $strTable .= '<td style="text-align:center;font-size:12px;" width="*">预约时间</td>';
        $strTable .= '<td style="text-align:center;font-size:12px;" width="*">预约座位</td>';
        $strTable .= '<td style="text-align:center;font-size:12px;" width="*">预约电影</td>';
        $strTable .= '</tr>';
        foreach($arr as $key=>$val)
        {
            $strTable .= '<tr>';
            $strTable .= '<td style="text-align:center;font-size:12px;">'.$val['order_no'].' </td>';
            $strTable .= '<td style="text-align:center;font-size:12px;">'.$val['username'].' </td>';
            $strTable .= '<td style="text-align:center;font-size:12px;">'.$val['tel'].'</td>';
            $strTable .= '<td style="text-align:center;font-size:12px;">'.$val['start_time'].' </td>';
            $strTable .= '<td style="text-align:center;font-size:12px;">'.$val['seatnum'].' </td>';
            $strTable .= '<td style="text-align:center;font-size:12px;">'.$val['name'].' </td>';
            $strTable .= '</tr>';
        }
        $strTable .='</table>';

        //echo '123';

        $reportObj = new PHPExcel();
        $reportObj->setFileName('demo');
        $reportObj->toDownload($strTable);
//model里引用
<?php

namespace frontend\models;
//include $_SERVER['D3OCUMENT_ROOT'].'/PHPExcel/EXCEL/PHPExcel.php';
// include 'E:\www\WWW\advanced\common\widgets\PHPExcel\EXCEL\PHPExcel\Writer\Excel2007.php';
use yii\base\Model;

/**
 * This is the model class for table "country".
 *
 * @property string $code
 * @property string $name
 * @property integer $population
 */
class PHPExcel extends Model
{

    //文件名
    private $fileName = 'user';

    //构造函数
    public function __construct($fileName = '')
    {
        $this->setFileName($fileName);
    }

    //设置要导出的文件名
    public function setFileName($fileName)
    {
        $this->fileName = $fileName;
    }

    //开始下载
    public function toDownload($strTable)
    {
        header("Content-type: application/vnd.ms-excel");
        header("Content-Type: application/force-download");
        header("Content-Disposition: attachment; filename=".$this->fileName."_".date('Y-m-d').".xls");
        header('Expires:0');
        header('Pragma:public');
        echo '<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'.$strTable.'</html>';
    }

}

转载于:https://www.cnblogs.com/zhanghuilong/p/6481010.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值