Maison  >  Article  >  développement back-end  >  Comment créer ou exporter un tableau de données Excel avec PHP

Comment créer ou exporter un tableau de données Excel avec PHP

小云云
小云云original
2018-03-27 16:54:552658parcourir

Cet article partage principalement avec vous la méthode de création ou d'exportation d'un tableau de données Excel avec PHP. Il partage principalement avec vous un morceau de code, j'espère qu'il pourra vous aider.

$filename = "order_".date('Y-m-d').".xls";  
        $header = array('订单编号','订单类型','会员ID','总加工费','商品总价','邮费','应付金额','订单状态','下单时间');  
        $index = array('order_sn','kind','mid','other_price','goods_price','shipping_price','order_amount','order_status','regtime');  
$$orderlist = M('table')->where($where)->order('id')->select();

create_xls($orderlist,$filename,$header,$index);


/**
* 数组转xls格式的excel文件
* @param  array   $data 要导出的数组格式的数据 
* @param  string  $filename 导出的Excel表格数据表的文件名 
* @param  array   $header Excel表格的表头 
* @param  array   $index $list数组中与Excel表格表头$header中每个项目对应的字段的名字(key值) 
* 比如: $header = array('编号','姓名','性别','年龄'); 
*       $index = array('id','username','sex','age'); 
*       $data = array(array('id'=>1,'username'=>'YQJ','sex'=>'男','age'=>24)); 
*      示例数据:        $strexport = array(
            array(NULL, 2010, 2011, 2012),
            array('Q1',   12,   15,   21),
            array('Q2',   56,   73,   86),
            array('Q3',   52,   61,   69),
            array('Q4',   30,   32,    0),
           );
 */
function create_xls($data,$filename='simple.xls',$header,$indexKey){
    ini_set('max_execution_time', '0');
    Vendor('PHPExcel.PHPExcel');    $filename=str_replace('.xls', '', $filename).'.xls';    $phpexcel = new PHPExcel();    $phpexcel->getProperties()
        ->setCreator("Maarten Balliauw")
        ->setLastModifiedBy("Maarten Balliauw")
        ->setTitle("Office 2007 XLSX Test Document")
        ->setSubject("Office 2007 XLSX Test Document")
        ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
        ->setKeywords("office 2007 openxml php")
        ->setCategory("Test result file");
    //组合单元格的内容
    foreach ($data as $k=>$row) {  
        foreach ($indexKey as $key=>$value){  
            //这里是设置单元格的内容  
            $strexport[$k][$key]=$row[$value];  
        }  
    }  
    array_unshift($strexport,$header);    $phpexcel->getActiveSheet()->fromArray($strexport);    $phpexcel->getActiveSheet()->setTitle('Sheet1');    $phpexcel->setActiveSheetIndex(0);
    header('Content-Type: application/vnd.ms-excel');
    header("Content-Disposition: attachment;filename=$filename");
    header('Cache-Control: max-age=0');
    header('Cache-Control: max-age=1');
    header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
    header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
    header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
    header ('Pragma: public'); // HTTP/1.0
    $objwriter = PHPExcel_IOFactory::createWriter($phpexcel, 'Excel5');    $objwriter->save('php://output');    exit;
}

Recommandations associées :

Créer un fichier Excel avec PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn