在线报名系统开发 php+mysql程序开发

手机号码:18018290177 QQ:2373311510 旺旺:xxw365
当前位置:首页 > 程序详细介绍

PHPExcel循环导出数据

发布时间:2018-12-16 浏览次数:

function order_dc($t1,$t2,$zt){
    global $db;
    global $table;

$objExcel = new PHPExcel();
//print_r($objExcel);
$objWriter = new PHPExcel_Writer_Excel5($objExcel);
//$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用于 2007 格式    
//$objWriter->setOffice2003Compatibility(true);  

//*************************************    
//设置当前的sheet索引,用于后续的内容操作。    
//一般只有在使用多个sheet的时候才需要显示调用。    
//缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0    
  
$objExcel->setActiveSheetIndex(0);    
   
   
//$objActSheet = $objExcel->getActiveSheet();    
$objActSheet = $objExcel->getActiveSheet();   
//设置当前活动sheet的名称    
$objActSheet->setTitle('Sheet1' );    
   
//*************************************    
//设置单元格内容    
//    
//由PHPExcel根据传入内容自动判断单元格内容类型  

//第一行
$baseRow=1;


//$objActSheet ->setCellValue("A".$baseRow , '编号');          // 布爾值
$objActSheet ->setCellValue("A".$baseRow , '會員賬戶');          // 布爾值
$objActSheet ->setCellValue("B".$baseRow , '商品總價(元)'); // 公式  
$objActSheet ->setCellValue("C".$baseRow , '訂單號'); // 公式
$objActSheet ->setCellValue("D".$baseRow , '顧客姓名'); // 公式
$objActSheet ->setCellValue("E".$baseRow , '身份證'); // 公式
$objActSheet ->setCellValue("F".$baseRow , '地址'); // 公式
$objActSheet ->setCellValue("G".$baseRow , '郵編'); // 公式
$objActSheet ->setCellValue("H".$baseRow , '電話'); // 公式
$objActSheet ->setCellValue("I".$baseRow , '匯款單號'); // 公式
$objActSheet ->setCellValue("J".$baseRow , '下單時間');
$objActSheet ->setCellValue("K".$baseRow , '處理狀態');


//标题上下居中
$objStyle = $objActSheet->getStyle("A1:Z1"); 
$objAlign = $objStyle->getAlignment();
$objAlign->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);   
$objAlign->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

$baseRow=2;

$where=" where oid=0";
        
if ($zt=='1'){
    $where=$where." and `zt`='1'";    
}elseif($zt=='0'){
    $where=$where." and `zt`='0'";    
}
        
if ($t1){
    $where=$where." and `addtime`>='".strtotime($t1)."'";    
}
        
if ($t2){
    $where=$where." and `addtime`<='".strtotime($t2)."'";    
}
        
            
$sql="select * from `{$table}order` ".$where.$order."";
$row = $db->getAll($sql);
    
foreach($row as $i => $dataRow)
{    

    $row = $baseRow + $i;
    
    $p_str="";
    $n_str="";
    $sql="select * from `{$table}order` where oid=".$dataRow['id']."";
    $r = $db->getAll($sql);
    foreach($r as $vo)
    {
        $p_str=$p_str.get_product($vo['pid'],'title')."/".$vo['num']."|";
    }
    $p_str=rtrim($p_str, "|");
    
    
    if ($dataRow['zt']){
        $zt='已處理';
    }else{
        $zt='未處理';
    }
    
    //$objActSheet ->setCellValue("A".$row , " ".iconv("GBK", "UTF-8", $dataRow['gh']) );  // 字符串内容    
    //$objActSheet ->setCellValue("B".$row , iconv("GBK", "UTF-8", $dataRow['ks']));            // 数值    
    //基本情况A-N
    //$objActSheet ->setCellValue("A".$row , $i." ");
    $objActSheet ->setCellValue("A".$row , $dataRow['username']." "); 
    $objActSheet ->setCellValue("B".$row , $dataRow['total']." ");
    $objActSheet ->setCellValue("C".$row , $dataRow['order']." ");
    $objActSheet ->setCellValue("D".$row , $dataRow['name']." ");
    $objActSheet ->setCellValue("E".$row , $dataRow['sfz']." ");
    $objActSheet ->setCellValue("F".$row , $dataRow['address']." ");
    $objActSheet ->setCellValue("G".$row , $dataRow['yb']." ");
    $objActSheet ->setCellValue("H".$row , $dataRow['sjhm']." ");
    $objActSheet ->setCellValue("I".$row , $dataRow['hkxx']." ");
    $objActSheet ->setCellValue("J".$row , date('Y-m-d H:i:s',$dataRow['addtime'])." ");
    $objActSheet ->setCellValue("K".$row , $zt." ");
    
    
    
    $row=$row+1;
    //$objActSheet ->setCellValue("A".$row , $row." ");
    $objActSheet ->setCellValue("H".$row , '產品');          // 布爾值
    $objActSheet ->setCellValue("I".$row , '價格(元)'); // 公式 
    $objActSheet ->setCellValue("J".$row , '數量(瓶)'); // 公式  
    $objActSheet ->setCellValue("K".$row , '合計(元)');
    
    $sql="select * from `{$table}order` where oid=".$dataRow['id']."";
    $r = $db->getAll($sql);
    
    
    foreach($r as $j => $vo)
    {
        $row = $row + 1;
        //$objActSheet ->setCellValue("A".$row , $j." ");
        //$objActSheet ->setCellValue("B".$row , $baseRow." ");
        //$objActSheet ->setCellValue("C".$row , $row." ");
        $objActSheet ->setCellValue("H".$row , get_product($vo['pid'],'title')." ");
        $objActSheet ->setCellValue("I".$row , get_product($vo['pid'],'fee'));
        $objActSheet ->setCellValue("J".$row , $vo['num']);
        $objActSheet ->setCellValue("K".$row , $vo['total']);
        //$row=$row+$j;
        //$baseRow=$baseRow+1;
    }
    $baseRow=$baseRow+count($r)+1;
        
}  


//    
$outputFileName = "order.xls" ;    
//到文件    
//$objWriter->save($outputFileName);    
//or    
//到浏览器  
header("Content-Type: application/force-download");    
header("Content-Type: application/octet-stream");    
header("Content-Type: application/download");    
//header('Content-Disposition:inline;filename="'.$outputFileName.'"');
header("Content-Disposition: attachment;filename=".$outputFileName."");    
header("Content-Transfer-Encoding: binary");    
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");    
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");    
header("Pragma: no-cache");  
$objWriter->save('php://output');
}