PHP all export excel method and batch export super simple method!

<form action="excel.php">
  <a style="margin:10px;display: inline-table;" href="messexcel.php" class="button">全部导出</a>
  <input type="submit" value="批量导出" class="button" style="margin:10px;display: inline-table;" >
</form>      

Create all export files:

<?php 
      
require_once("../../include/mysql.Open.php");
require_once("../../public/conn.php");
$sql ="select * from mess_market  order by Id"; //查询数据库表
 $value=$db->getList($sql);
      foreach($value as $k=>$v){
    
    
      	 // $new_arr[$k]=$v; //这语句将数据库表全部执行输出了
     $new_arr[$k]=array($v['gs_name'],$v['names'],$v['email'],$v['label'],$v['pro2'],$v['pro3'],$v['contents'],$v['messtime']); //循环数据库得数据字段,按顺序执行,填写自己想要的字段。
      }
 
//    print_r($new_arr);die;
 
      // 输出Excel文件头,可把user.csv换成你要的文件名
 
      $filename='市场合作留言表'.date('Y-m-d H时i分s秒',time());
      header('Content-Type: application/vnd.ms-excel');
      header('Content-Disposition: attachment;filename="'.$filename.'.csv"');
      header('Cache-Control: max-age=0');
 
      // 打开PHP文件句柄,php://output 表示直接输出到浏览器
      $fp = fopen('php://output', 'a');
 
      // 输出Excel列名信息
      $head = array('公司名称','姓名','邮箱','合作标签','网站或社交账号','附件','合作说明','提交时间');
      foreach ($head as $i => $v) {
    
    
         // CSV的Excel支持GBK编码,一定要转换,否则乱码
         $head[$i] = iconv('utf-8', 'gbk',$v);
      }
      // 将数据通过fputcsv写到文件句柄
      fputcsv($fp, $head);

      foreach ($new_arr as $key => $val) {
    
    
         foreach($val as $k=>$v){
    
    
               $new[$k] = iconv('utf-8', 'gbk//IGNORE', strval($v)."\t");  //网站是utf-8转换成gbk 字符,就不会出现乱码
         }
 
 
         fputcsv($fp, $new);
      }
      $null=array('','','','','','','','');
      //统计信息
      // fputcsv($fp,$null);
      // fputcsv($fp,$null); //这里代表着空两行
     //  fputcsv($fp, array(iconv('utf-8', 'gbk','这里可以写些文字标注信息')));

      ?>

To create a batch export file:
1. Select the ID to transfer the ID.
2. Get the ID array and query the database form to get the ID after the delimiter

      <?php 
      
require_once("../../include/mysql.Open.php");
require_once("../../public/conn.php");
 
$id=implode(',', $_POST['id']);  //收到数组ID, 通过implode分隔。

$sql ="select * from web_mess where Id in ($id)  order by Id desc"; //通过in ID查询
 $value=$db->getList($sql);

      foreach($value as $k=>$v){
    
    

      	 // $new_arr[$k]=$v; //这语句将数据库全部执行出来了
      	$new_arr[$k]=array($v['names'],$v['messtime'],$v['pro2'],$v['new_time'],$v['pro3']); //循环数据库得数据字段,按顺序执行
      }
 
//    print_r($new_arr);die;
 
      // 输出Excel文件头,可把user.csv换成你要的文件名
 
      $filename='DZOFILM后期延保留言表'.date('Y-m-d H时i分s秒',time());
      header('Content-Type: application/vnd.ms-excel');
      header('Content-Disposition: attachment;filename="'.$filename.'.csv"');
      header('Cache-Control: max-age=0');
 
      // 打开PHP文件句柄,php://output 表示直接输出到浏览器
      $fp = fopen('php://output', 'a');
 
      // 输出Excel列名信息
      $head = array('客户名称','提交时间','序列号','延保时间','图片');
      foreach ($head as $i => $v) {
    
    
         // CSV的Excel支持GBK编码,一定要转换,否则乱码
         $head[$i] = iconv('utf-8', 'gbk',$v);
      }
      // 将数据通过fputcsv写到文件句柄
      fputcsv($fp, $head);

      foreach ($new_arr as $key => $val) {
    
    
         foreach($val as $k=>$v){
    
    
               $new[$k] = iconv('utf-8', 'gbk//IGNORE', strval($v)."\t");  //网站是utf-8转换成gbk 字符,就不会出现乱码
         }
 
 
         fputcsv($fp, $new);
      }
      $null=array('','','','','','','','');
      //统计信息
      fputcsv($fp,$null);  
         fputcsv($fp,$null);//表格空一行
      fputcsv($fp, array(iconv('utf-8', 'gbk','提示文字提示文字')));

      ?>

Guess you like

Origin blog.csdn.net/qq_42177117/article/details/114261120