tp5 PHPExcel 导出文件excel

本文将指导如何在TP5框架中利用PHPExcel库来导出Excel文件。首先,你需要从GitHub官方仓库下载PHPOffice/PHPExcel,只保留Classes目录的内容。接着,在PHP文件中进行相应的配置和操作,实现数据的导出功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先需要去官网https://github.com/PHPOffice/PHPExcel/下载PHPExcel,下载后只需要Classes目录下的文件即可。

  将classes 下的文件放到 vendor/PHPExcel 文件夹下 (PHPExcel自己创建)

在这里插入图片描述

2.php 文件

use PHPExcel_IOFactory;
use PHPExcel_Cell;
use PHPExcel;



  //导出搜索信息************************************************************************************
   public function dcexcel(){
	$excel_listall = session('excel_listall');

		
        $path = dirname(__FILE__); //找到当前脚本所在路径
        vendor("PHPExcel.PHPExcel.PHPExcel");
        vendor("PHPExcel.PHPExcel.Writer.IWriter");
        vendor("PHPExcel.PHPExcel.Writer.Abstract");
        vendor("PHPExcel.PHPExcel.Writer.Excel5");
        vendor("PHPExcel.PHPExcel.Writer.Excel2007");
        vendor("PHPExcel.PHPExcel.IOFactory");
        $objPHPExcel = new \PHPExcel();
        $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel);
        $objWriter = new \PHPExcel_Writer_Excel2007($objPHPExcel);


        // 实例化完了之后就先把数据库里面的数据查出来	
		
	  $sql = $excel_listall ;
        

        // 设置表头信息
        $objPHPExcel->setActiveSheetIndex(0)        
                ->setCellValue('A1', '预约日期')
                ->setCellValue('B1', '姓名')
		->setCellValue('C1', '性别')
		->setCellValue('D1', '年龄')
		->setCellValue('E1', '电话')
		->setCellValue('F1', '地区')
		->setCellValue('G1', '病种')
		->setCellValue('H1', '来源')
		->setCellValue('I1', '咨询员')
		->setCellValue('J1', '患者分类')
		->setCellValue('k1', '专家')
		->setCellValue('L1', '录入日期')
		->setCellValue('M1', '病情描述')
		->setCellValue('N1', '预约备注');
		

        /*--------------开始从数据库提取信息插入Excel表中------------------*/

        $i=2;  //定义一个i变量,目的是在循环输出数据是控制行数
        $count = count($sql);  //计算有多少条数据 
        for ($i = 2; $i <= $count+1; $i++) { 
           
            $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $sql[$i-2]['yytime']);
            $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $sql[$i-2]['name']);
	    $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $sql[$i-2]['sex']);
            $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $sql[$i-2]['age']);
            $objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $sql[$i-2]['tel']);
	    $objPHPExcel->getActiveSheet()->setCellValue('F' . $i, $sql[$i-2]['dq']);
            $objPHPExcel->getActiveSheet()->setCellValue('G' . $i, $sql[$i-2]['bz']);
            $objPHPExcel->getActiveSheet()->setCellValue('H' . $i, $sql[$i-2]['ly']);
	    $objPHPExcel->getActiveSheet()->setCellValue('I' . $i, $sql[$i-2]['kefu']);			
	    $objPHPExcel->getActiveSheet()->setCellValue('J' . $i, $sql[$i-2]['hzfl']);
	    $objPHPExcel->getActiveSheet()->setCellValue('K' . $i, $sql[$i-2]['doctor']['name']);
	    $objPHPExcel->getActiveSheet()->setCellValue('L' . $i, $sql[$i-2]['ctime']);
	    $objPHPExcel->getActiveSheet()->setCellValue('M' . $i, $sql[$i-2]['bingqing']);
	    $objPHPExcel->getActiveSheet()->setCellValue('N' . $i, $sql[$i-2]['yyremark']);
           
            
        }

        
        /*--------------下面是设置其他信息------------------*/

        $objPHPExcel->getActiveSheet()->setTitle('搜索信息');      //设置sheet的名称
        $objPHPExcel->setActiveSheetIndex(0);                   //设置sheet的起始位置
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');   //通过PHPExcel_IOFactory的写函数将上面数据写出来
        
        $PHPWriter = \PHPExcel_IOFactory::createWriter( $objPHPExcel,"Excel2007");
        $filename = date('Y-m-d') .'搜索信息';     
        header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"');
        header('Content-Type: applicsation/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        
        $PHPWriter->save("php://output"); //表示在$path路径下面生成demo.xlsx文件
   }
	//导出搜索信息结束************************************************************************************
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值