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

本文介绍了一种使用PHP从数据库中获取数据并将其转换为Excel文件的方法。具体实现了通过调用存储过程获取指定年份和季度的数据,再利用PHPExcel库将这些数据写入Excel表格。此外还介绍了如何设置字符编码以避免乱码问题。

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

本文为刘兴原创, 如果转载,请注明原网址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++;        
          } 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值