OA信用盘外包平台出租-php将数据库数据导出成Excel

<?php
//导出数据
{OA信用盘架设q<319.135.503.1>}
public function exportData(){
$ary_lottery_list = D('DrawUser')->userLucky('5');
$fileExcel = $_SERVER['DOCUMENT_ROOT'].'/Public/Uploads/excel/'; //文件存放目录
if(!is_dir($fileExcel)) @mkdir($fileExcel,0777,1);
$excel_file = 'exportStatData'. date('Y-m-d-H-i-s', time()).'.csv';
$header = $this->setExcelHeader($ary_lottery_list);
$contents = $this->setExcelContents($ary_lottery_list);
$this->export_csv($contents, $header, $excel_file,$fileExcel);
//Excel显示列
header("Content-type:application/force-download;charset=utf-8");
header("Content-Disposition:attachment;filename=" .$excel_file);
readfile($fileExcel.$excel_file);
exit;
}
/

  • 报表字段
    /
    private function setExcelHeader($ary_data){
    $heards = array(
    'ID','姓名','手机号','详细地址','奖品'
    );
    return $heards;
    }
    /
    *
    • 处理获取的数据库数据
      */
      private function setExcelContents($ary_data){
      $contents = array();
      foreach($ary_data as $key=>$val){
      $tmp_contents = array(
      $val['id'],
      $val['name'],
      $val['tel'],
      $val['province']." ".$val['city']." ".$val['county']." ".$val['address'],
      $val['p_name']
      );
      $contents[] = $tmp_contents;
      }
      return $contents;
      }
      function export_csv($data, $title_arr, $file_name = '',$filexcel) {
      $csv_data = '';
      /* 标题 /
      $nums = count($title_arr);
      for ($i = 0; $i < $nums - 1; ++$i) {
      $csv_data .= '"' . $title_arr[$i] . '",';
      }
      if ($nums > 0) {
      $csv_data .= '"' . $title_arr[$nums - 1] . "\"\r\n";
      }
      $csv_data = iconv('utf-8', 'GB2312',$csv_data);
      $file_name = empty($file_name) ? date('Y-m-d-H-i-s', time()) : $file_name;
      if(count($data)>300){
      file_put_contents($filexcel.$file_name, $csv_data) ;
      foreach ($data as $k => $row) {
      $csv_data = "";
      for ($i = 0; $i < $nums - 1; ++$i) {
      if($i == 0){
      $row[$i] = str_replace("\"", "\"\"", $row[$i]);
      //$csv_data .= ''.trim($row[$i]). ',';
      $csv_data .= trim($row[$i]). ',';
      }else{
      $row[$i] = str_replace("\"", "\"\"", trim($row[$i]));
      $csv_data .= '"' . $row[$i] . '",';
      }
      }
      $csv_data .= '"' . $row[$nums - 1] . "\"\r\n";
      unset($data[$k]);
      file_put_contents($filexcel.$file_name, iconv('utf-8', 'GB2312', $csv_data),FILE_APPEND) ;
      }
      }
      else{
      foreach ($data as $k => $row) {
      $csv_line='';
      for ($i = 0; $i < $nums - 1; ++$i) {
      if($i == 0){
      $row[$i] = str_replace("\"", "\"\"", $row[$i]);
      //$csv_line .= ''.trim($row[$i]). ',';
      $csv_line .= trim($row[$i]). ',';
      }else{
      $row[$i] = str_replace("\"", "\"\"", trim($row[$i]));
      $csv_line .= '"' . $row[$i] . '",';
      }
      }
      $csv_line .= '"' . $row[$nums - 1] . "\"\r\n";
      $csv_line = iconv('utf-8', 'GB2312',$csv_line);
      $csv_data .= $csv_line;
      //unset($data[$k]);
      }
      file_put_contents($filexcel.$file_name, $csv_data) ;
      // file_put_contents($filexcel.$file_name, $csv_data) ;
      }
      return true;
      }
      ?>

猜你喜欢

转载自blog.51cto.com/14524882/2436028