yii 导出excel表格里换行_yii2 中excel表导出

首先下载phpexcel

在引入类文件(在web中index.php入口文件或者控制器中引入)

require_once dirname(dirname(__FILE__)).'/excel/PHPExcel.php';

require_once dirname(dirname(__FILE__)).'/excel/PHPExcel/IOFactory.php';

require_once dirname(dirname(__FILE__)).'/excel/PHPExcel/Reader/Excel5.php';

require_once dirname(dirname(__FILE__)).'/excel/PHPExcel/Reader/Excel2007.php';

然后在控制器中写

public  function actionExport()

{

$objPHPExcel = new \PHPExcel();

/*以下是一些设置 ,什么作者  标题啊之类的*/

$objPHPExcel->getProperties()->setCreator("电影")

->setLastModifiedBy("电影")

->setTitle("数据EXCEL导出")

->setSubject("数据EXCEL导出")

->setDescription("备份数据")

->setKeywords("excel")

->setCategory("result file");

//测试数据

$sql="select order_id,user_true_name,movie,seat,order_num from orders ";

$data = \yii::$app->db->createCommand($sql)->queryAll();

//excel表中表头

$title=array('order_id'=>'id','user_true_name'=>'账号姓名','movie'=>'电影名称','seat'=>'座位','order_num'=>'订单号');

Array_unshift($data,$title);

//        print_r($data);die;

/*以下就是对处理Excel里的数据, 横着取数据,主要是这一步,其他基本都不要改*/

foreach($data as $k => $v){

$num=$k+1;

$objPHPExcel->setActiveSheetIndex(0)

//Excel的第A列,uid是你查出数组的键值,下面以此类推

->setCellValue('A'.$num, $v['order_id']) //A1 A2

->setCellValue('B'.$num, $v['user_true_name'])

->setCellValue('C'.$num, $v['movie'])

->setCellValue('D'.$num, $v['seat'])

->setCellValue('E'.$num, $v['order_num']);

//                ->setCellValue('F'.$num, $v['cate_id']);

}

//设置活动工作簿的标题

$objPHPExcel->getActiveSheet()->setTitle('1502E');

//设置当前工作簿为第一个工作簿

$objPHPExcel->setActiveSheetIndex(0);

//以文件下载的方式输出

header('Content-Type: application/vnd.ms-excel');

header('Content-Disposition: attachment;filename="'.time().'.xlsx"');

header('Cache-Control: max-age=0');

$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

$objWriter->save('php://output');

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值