PHP全部导出excel方法与批量导出超简单方法!

<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>      

创建全部导出文件:

<?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','这里可以写些文字标注信息')));

      ?>

创建批量导出文件:
1、选择ID将ID传值过来。
2、获取ID数组,分割符后查询数据库表单得ID

      <?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','提示文字提示文字')));

      ?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赖赖赖先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值