Maison  >  Article  >  développement back-end  >  Partagez comment utiliser PHPExcel pour exporter des données par lots dans des tableaux Excel (à lire absolument)

Partagez comment utiliser PHPExcel pour exporter des données par lots dans des tableaux Excel (à lire absolument)

怪我咯
怪我咯original
2017-06-16 09:54:412388parcourir

L'éditeur suivant vous proposera un article sur la façon d'utiliser PHPExcel pour exporter par lots des données dans des tableaux Excel (à lire absolument). L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un coup d'œil.

Tout d'abord, vous devez télécharger le fichier de classe PHPExecel. Pour les documents d'aide, veuillez vous référer au manuel d'aide en chinois PHPExcel | Comment utiliser PHPExcel.

L'exemple suivant est un simple export de données par lots vers Excel que j'ai écrit moi-même

Première page C'est relativement simple, c'est un lien hypertexte passe à la page de traitement. Le lien hypertexte peut également être suivi de certains paramètres (selon les besoins) !

<a href="./Process1.php" rel="external nofollow" >导出excel表格</a>

Page Backend Process.php

/**
* 批量导出数据
* @param $arr 从数据库查询出来,即要导出的数据
*  $name excel表歌名
*/
function expExcel($arr,$name){
 
 require_once &#39;PHPExcel.php&#39;;
 //实例化
 $objPHPExcel = new PHPExcel();
 /*右键属性所显示的信息*/
  $objPHPExcel->getProperties()->setCreator("zxf")  //作者
       ->setLastModifiedBy("zxf")  //最后一次保存者
       ->setTitle(&#39;数据EXCEL导出&#39;)  //标题
       ->setSubject(&#39;数据EXCEL导出&#39;) //主题
       ->setDescription(&#39;导出数据&#39;)  //描述
       ->setKeywords("excel")   //标记
       ->setCategory("result file");  //类别


 //设置当前的表格 
 $objPHPExcel->setActiveSheetIndex(0);
 // 设置表格第一行显示内容
 $objPHPExcel->getActiveSheet()
  ->setCellValue(&#39;A1&#39;, &#39;业主姓名&#39;)
  ->setCellValue(&#39;B1&#39;, &#39;密码&#39;)
  ->setCellValue(&#39;C1&#39;, &#39;手机号码&#39;)
  ->setCellValue(&#39;D1&#39;, &#39;地址&#39;)
  //设置第一行为红色字体
  ->getStyle(&#39;A1:D1&#39;)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);

 $key = 1;
 /*以下就是对处理Excel里的数据,横着取数据*/
 foreach($arr as $v){

 //设置循环从第二行开始
 $key++;
  $objPHPExcel->getActiveSheet()

     //Excel的第A列,name是你查出数组的键值字段,下面以此类推
     ->setCellValue(&#39;A&#39;.$key, $v[&#39;name&#39;]) 
     ->setCellValue(&#39;B&#39;.$key, $v[&#39;pwd&#39;])
     ->setCellValue(&#39;C&#39;.$key, $v[&#39;phone&#39;])
     ->setCellValue(&#39;D&#39;.$key, $v[&#39;address&#39;]);

 }
 //设置当前的表格 
 $objPHPExcel->setActiveSheetIndex(0);
   ob_end_clean();  //清除缓冲区,避免乱码
  header(&#39;Content-Type: application/vnd.ms-excel&#39;); //文件类型
  header(&#39;Content-Disposition: attachment;filename="&#39;.$name.&#39;.xls"&#39;); //文件名
  header(&#39;Cache-Control: max-age=0&#39;);
  header(&#39;Content-Type: text/html; charset=utf-8&#39;); //编码
  $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, &#39;Excel5&#39;);  //excel 2003
  $objWriter->save(&#39;php://output&#39;); 
  exit;

}

/***********调用**********************/
header("Content-type:text/html;charset=utf-8");

//链接数据库
$link = @mysql_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;&#39;) or die(&#39;连接数据库失败&#39;);
mysql_select_db(&#39;test&#39;,$link);
mysql_query(&#39;set names utf8&#39;);

//先获取数据
$sql = "select * from house";
$res = mysql_query($sql);
$arr = array();
//把$res=>$arr,把结果集内容转移到一个数组中
while ($row = mysql_fetch_assoc($res)){
 $arr[] = $row;
}

//excel表格名
$name = "用户表";

//调用
expExcel($arr,$name)

Cela termine l'utilisation de PHPExcel pour exporter des données. Pour plus d'informations sur l'utilisation de PHPExcel pour importer dans la base de données, veuillez vous référer à Utilisation de PHPExcel pour télécharger par lots des données dans la base de données

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn