解决 phpexcel导出乱码及将查询结果自动转存EXCEL

本文为刘兴原创, 如果转载,请注明原网址http://deepfuture.iteye.com/blog/697154

$objActSheet = $objPHPExcel->getActiveSheet();
                $db=new mysqli("localhost","gxdsadmin","99999999","gxkaohe");  
                mysqli_query($db,"SET NAMES utf8");    //导出编码设定,以防产生乱码              
                $result=$db->query("call gxtj($year,$jd)");
    $i=2; 
    while( $row = $result->fetch_array(MYSQLI_ASSOC))
      {   
    $totalfs=100; 
    $isstart=false; 
       $j=65;
       $asc_cell=chr($j);     

//执行sql语句,并将返回的查询结果(包括自动取字段名和字段值)自动转存excel 
           while ($key=key($row)){ 
             $ex_title=$asc_cell."1"; 
          $ex_cell=$asc_cell.$i;          
       $value=current($row); 
       if (in_array($key, $noshow)) {
            next($row);
      continue; 
       }
       if ($value=='0' or is_null($value)){
           $value='0';
        $isstart=true;
       }
       if ($isstart){
           $totalfs-=$value; 
       }
       $objActSheet->setCellValue($ex_title,$key);
       $objActSheet->setCellValue($ex_cell,$value);
       $j++;
       if ($j>90) {
                  $j=65;
                          $asc_cell="AA" ;
       }
       elseif (strlen($asc_cell)>1) {
               $asc_cell=substr($asc_cell,0,strlen($asc_cell)-1).chr($j);        
       }
       else{
            $asc_cell=chr($j); 
       }     
          next($row);        
       }       
       $objActSheet->setCellValue($ex_title,"总分");
       $objActSheet->setCellValue($ex_cell,$totalfs);       
       $i++;        
          } 

 

你可能感兴趣的:(sql,Excel,Blog,J#)