PHPExcel使用

 下载phpexcel压缩包,地址:https://github.com/PHPOffice/PHPExcel/tree/1.7.9,该压缩包中有一些示例可以参考,基本涵盖所有情况导出示例。在Examples文件夹中。将压缩包中Classes文件里边的所有文件复制到tp中ThinkPHP\Library\Org\Util目录下,并将PHPExcel.php文件改名为PHPExcel.class.php,如下图,tp的import引入文件时命名规则

         import("Org.Util.PHPExcel");
            $data = 需要导出的数据
             $objPHPExcel = new \PHPExcel();
            //定义配置
            $title = "商户进货列表";
            $topNumber = 2;//表头有几行占用
            $xlsTitle = iconv('utf-8', 'gb2312', $title);//文件名称
            $fileName = $title.date('_YmdHis');//文件名称
            $cellName  = array(
                 array("订单号","商户名","产品名","价格","数量","订货时间","是否发货","地址")
            );
            $cellKey = array(
                'A','B','C','D','E','F','G','H'
            );
            
            $objPHPExcel->getActiveSheet()->setCellValue("A1",'订单号');
            $objPHPExcel->getActiveSheet()->setCellValue("B1", '商户名');
            $objPHPExcel->getActiveSheet()->setCellValue("C1", '产品名');
            $objPHPExcel->getActiveSheet()->setCellValue("D1", '价格');
            $objPHPExcel->getActiveSheet()->setCellValue("E1", '数量');
            $objPHPExcel->getActiveSheet()->setCellValue("F1", '订货时间');
            $objPHPExcel->getActiveSheet()->setCellValue("G1", '是否发货');
            $objPHPExcel->getActiveSheet()->setCellValue("H1", '地址');


        //处理数据


        $key=2;
        foreach ($data as $k =>$v)
        {
            
            $objPHPExcel->getActiveSheet()->setCellValue("A$key",$v['ordernum']);
            $objPHPExcel->getActiveSheet()->setCellValue("B$key", $v['merchant_name']);
            $objPHPExcel->getActiveSheet()->setCellValue("C$key", $v['name']);
            $objPHPExcel->getActiveSheet()->setCellValue("D$key", $v['price']);
            $objPHPExcel->getActiveSheet()->setCellValue("E$key", $v['num']);
            $objPHPExcel->getActiveSheet()->setCellValue("F$key", date("Y-m-d H:i:s",$v['add_time']));
            $objPHPExcel->getActiveSheet()->setCellValue("G$key", $v['type_info']);
            $objPHPExcel->getActiveSheet()->setCellValue("H$key", $v['merchant_address']);


            $key++;
            
        }


        //导出execl
        header('pragma:public');
        header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
        header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output');


            exit;


1.获取PHPExcel 2.添加如下方法: function Excel_Export($filename,$data,$sheet){ error_reporting(E_ALL); ini_set('display_errors','On'); /** Include path **/ set_include_path(get_include_path() . PATH_SEPARATOR . '../Classes/'); /** PHPExcel */ include 'api/excel/PHPExcel.php'; /** PHPExcel_Writer_Excel2007 */ include 'api/excel/PHPExcel/Writer/Excel2007.php'; // Create new PHPExcel object //echo date('H:i:s') . "Create new PHPExcel object\n"; $objPHPExcel = new PHPExcel(); // Set properties //echo date('H:i:s') . "Set properties\n"; $objPHPExcel->getProperties()->setCreator("E421083458"); $objPHPExcel->getProperties()->setLastModifiedBy("E421083458"); $objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document"); $objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document"); $objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes."); $objPHPExcel->getProperties()->setKeywords("office 2007 openxml php"); $objPHPExcel->getProperties()->setCategory("Test result file"); // Add some data //echo date('H:i:s') . "Add some data\n"; $objPHPExcel->setActiveSheetIndex(0); $charlist = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"); //print_r($data); foreach($data as $key=>$value){ $j=0; if($key==0){ foreach($value as $k=>$v){ if($j<25){ $objPHPExcel->getActiveSheet()->setCellValue($charlist[$j].($key+1), mb_convert_encoding($k, "UTF-8", "GBK")); $j++; } } $j=0; } foreach($value as $k=>$v){ if($j<25){ //echo $charlist[$j].($key+1)."<br/>"; //echo $v."<br/>"; $objPHPExcel->getActiveSheet()->setCellValue($charlist[$j].($key+2), mb_convert_encoding($v, "UTF-8", "GBK")); $j++; } } } // Rename sheet //echo date('H:i:s') . "Rename sheet\n"; $objPHPExcel->getActiveSheet()->setTitle(mb_convert_encoding($sheet,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值