찾다
php教程php手册一个导出类分享给大家,有更好的也可以讨论

php导出类。支持csv和phpexcel,以前写的
<?php <br /> <br> namespace Common\Event;<br> use Common\Controller\CommonController;<br>     /**<br>      * 数据导出类 用于导出数据<br>      * @author  Jack<br>      * @time    20150113<br>      */<br>     class DataPutEvent extends CommonController{<br>         public function _initialize(){<br>             parent::_initialize();<br>             C('SHOW_PAGE_TRACE',false);<br>         }<br>         /***<br>         *测试导出方法,必须放到Controller运行<br>         function test(){<br>             $head = array('哈哈','呵呵','嘿嘿','嘎嘎','赫赫','嘻嘻',);<br>             $data = array(<br>                 '0'=>array(<br>                     'aa'=>1,<br>                     'bb'=>1,<br>                     'cc'=>1,<br>                     'dd'=>1,<br>                     'ee'=>1,<br>                     'ff'=>1,<br>                 ),<br>                 '1'=>array(<br>                     'aa'=>1,<br>                     'bb'=>2,<br>                     'cc'=>1,<br>                     'dd'=>74,<br>                     'ee'=>1,<br>                     'ff'=>52,<br>                 ),<br>                 '2'=>array(<br>                     'aa'=>17,<br>                     'bb'=>257,<br>                     'cc'=>157,<br>                     'dd'=>747,<br>                     'ee'=>1527,<br>                     'ff'=>5275,<br>                 )<br>             );<br>             $event = A('Common/DataPut','Event');<br>             //$result = $event->csvPut($data,$head);<br>             //$result = $event->csvPut($data);<br>             //$result = $event->phpexcelPut($data,$head);<br>             //$result = $event->phpexcelPut($data);<br>         }<br>         ****/<br>         <br>         <br>         /**<br>          * csv数据格式导出<br>          * @author  Jack<br>          * @param     Array     $head     Excel列名信息 <br>           * @param     Array     $data     Excel数据 二维数组<br>          * @param     String     $filename     Excel文件名<br>          * @return  Bool<br>          **/<br>         public function csvPut($data=array(), $head=array(), $filename=''){<br> <br>             if(!$data) return false;<br>             $array_keys = array_keys($data[0]); //数据数组字段名称<br>             $head = $head ? $head : $array_keys;<br>             $filename = $filename ? $filename : (date('YmdHis').'导出记录.csv');<br>             // 输出Excel文件头<br>             header("Content-Type: application/vnd.ms-excel");<br>             header("Content-Disposition: attachment;filename={$filename}");<br>             header("Cache-Control: max-age=0");<br>             <br>             // 打开PHP文件句柄,php://output 表示直接输出到浏览器<br>             $fp = fopen('php://output', 'a');<br>             if(!$fp) return false;<br>             <br>             // 输出Excel列名信息        <br>             foreach ($head as $i => $v) {<br>                 // CSV的Excel支持GBK编码,一定要转换,否则乱码<br>                 $head[$i] = iconv('utf-8', 'gbk', $v);<br>             }<br>             <br>             // 将头信息通过fputcsv写到文件句柄<br>             fputcsv($fp, $head);<br>             <br>             // 计数器<br>             $cnt = 0;<br>             // 每隔$limit行,刷新一下输出buffer,不要太大,也不要太小<br>             $limit = 100000;<br>             <br>             // 逐行取出数据,不浪费内存<br>             $count = count($data);<br>             for($t=0;$t                 $cnt ++;<br>                 if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题<br>                     ob_flush();<br>                     flush();<br>                     $cnt = 0;<br>                 }<br>                 $row = $data[$t];<br>                 foreach ($row as $i => $v) {<br>                     $row[$i] = iconv('utf-8', 'gbk', $v);<br>                 }<br>                 fputcsv($fp, $row);<br>             }<br>             <br>             return true;<br>         }<br>         <br>         <br>         <br>         <br>         <br>         <br>         /**<br>          * phpexcel数据格式导出<br>          * @author  Jack<br>          * @param     Array     $head     Excel列名信息<br>           * @param     Array     $data     Excel数据 二维数组<br>          * @param     String     $title     Excel文件标题<br>          * @return  Bool<br>          */<br>         public function phpexcelPut($data=array(),$head=array(),$title=''){<br>             if(!$data) return false;<br>             $array_keys = array_keys($data[0]); //数据数组字段名称<br>             $head = $head ? $head : $array_keys;<br>             $title = $title ? $title : (date('YmdHis').'导出记录');<br>             // 输出Excel文件头<br>             if(!import('ORG.Phpexcel.Phpexcel')) return false;<br>             // Create new PHPExcel object<br>             $objPHPExcel = new PHPExcel();<br>             // Set document properties<br>             $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")<br>                                          ->setLastModifiedBy("Maarten Balliauw")<br>                                          ->setTitle("Office 2007 XLSX Test Document")<br>                                          ->setSubject("Office 2007 XLSX Test Document")<br>                                          ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")<br>                                          ->setKeywords("office 2007 openxml php")<br>                                          ->setCategory("Test result file");    <br>                                          <br>             $count = count($data);<br>             $Array = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');<br>             if($head){ <br>                 foreach($head as $k    => $v){<br>                     $objPHPExcel->getActiveSheet()->getColumnDimension($Array[$k])->setAutoSize(true);   //内容自适应<br>                     $objPHPExcel->setActiveSheetIndex(0)->setCellValue($Array[$k]."1", $head[$k]);<br>                 }<br>             }<br>             <br>             $objPHPExcel->setActiveSheetIndex(0);   <br>             for($i = 2; $i                  foreach($head as $key => $val){<br>                     $objPHPExcel->getActiveSheet()->setCellValue($Array[$key].$i,' '.$data[$i-2][$array_keys[$key]]);<br>                     <br>                 }<br> <br>             }<br>             <br>             $objPHPExcel->getActiveSheet()->setTitle($title);<br>             $objPHPExcel->setActiveSheetIndex(0);<br>             // Redirect output to a client's web browser (Excel5)<br>             header("Content-Type: application/vnd.ms-excel");<br>             header('Content-Disposition: attachment;filename="'.$title.'.xls"');<br>             header("Cache-Control: max-age=0");<br>             // If you're serving to IE 9, then the following may be needed<br>             header("Cache-Control: max-age=1");<br> <br>             // If you're serving to IE over SSL, then the following may be needed<br>             header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past<br>             header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified<br>             header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1<br>             header ('Pragma: public'); // HTTP/1.0<br> <br>             $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');<br>             $objWriter->save('php://output');<br>             exit;<br>         }<br>     <br>     }

AD:真正免费,域名+虚机+企业邮箱=0元

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
了解Python编程的入门级代码示例了解Python编程的入门级代码示例Jan 04, 2024 am 10:50 AM

了解Python编程的入门级代码示例Python是一种简单易学,功能强大的编程语言。对于初学者来说,了解Python编程的入门级代码示例是非常重要的。本文将为您提供一些具体的代码示例,帮助您快速入门。打印HelloWorldprint("HelloWorld")这是Python中最简单的代码示例。print()函数用于将指定的内容输出

PHP переменные в действии: 10 реальных примеров использованияPHP переменные в действии: 10 реальных примеров использованияFeb 19, 2024 pm 03:00 PM

PHP变量存储程序运行期间的值,对于构建动态且交互式的WEB应用程序至关重要。本文将深入探讨php变量,并通过10个真实的示例展示它们的实际应用。1.存储用户输入$username=$_POST["username"];$passWord=$_POST["password"];此示例从表单提交中提取用户名和密码,并将其存储在变量中以供进一步处理。2.设置配置值$database_host="localhost";$database_username="username";$database_pa

从入门到精通:Go语言中常用数据结构的代码实现从入门到精通:Go语言中常用数据结构的代码实现Mar 04, 2024 pm 03:09 PM

标题:从入门到精通:Go语言中常用数据结构的代码实现数据结构在编程中起着至关重要的作用,它是程序设计的基础。在Go语言中,有许多常用的数据结构,掌握这些数据结构的实现方式对于成为一名优秀的程序员至关重要。本文将介绍Go语言中常用的数据结构,并给出相应的代码示例,帮助读者从入门到精通这些数据结构。1.数组(Array)数组是一种基本的数据结构,是一组相同类型

Go语言编程实例:Web开发中的代码示例Go语言编程实例:Web开发中的代码示例Mar 04, 2024 pm 04:54 PM

《Go语言编程实例:Web开发中的代码示例》随着互联网的快速发展,Web开发已经成为各行业中必不可少的一部分。作为一门功能强大且性能优越的编程语言,Go语言在Web开发中越来越受到开发者们的青睐。本文将通过具体的代码示例,介绍如何利用Go语言进行Web开发,让读者能够更好地理解和运用Go语言来构建自己的Web应用。1.简单的HTTP服务器首先,让我们从一个

Java实现简单的冒泡排序代码Java实现简单的冒泡排序代码Jan 30, 2024 am 09:34 AM

Java冒泡排序最简单的代码示例冒泡排序是一种常见的排序算法,它的基本思想是通过相邻元素的比较和交换来将待排序序列逐步调整为有序序列。下面是一个简单的Java代码示例,演示了如何实现冒泡排序:publicclassBubbleSort{publicstaticvoidbubbleSort(int[]arr){int

如何使用PHP编写库存管理系统中的库存分仓管理功能代码如何使用PHP编写库存管理系统中的库存分仓管理功能代码Aug 06, 2023 pm 04:49 PM

如何使用PHP编写库存管理系统中的库存分仓管理功能代码库存管理是许多企业中不可或缺的一部分。对于拥有多个仓库的企业来说,库存分仓管理功能尤为重要。通过合理管理和跟踪库存,企业可以实现不同仓库之间的库存调拨,优化运营成本,改善协同效率。本文将介绍如何使用PHP编写库存分仓管理功能的代码,并为您提供相关的代码示例。一、建立数据库在开始编写库存分仓管理功能的代码之

指导与示例:学习Java选择排序算法的实现指导与示例:学习Java选择排序算法的实现Feb 18, 2024 am 10:52 AM

Java选择排序法代码编写指南及示例选择排序是一种简单直观的排序算法,其思想是每次从未排序的元素中选择最小(或最大)的元素进行交换,直到所有元素排序完成。本文将提供选择排序的代码编写指南,并附上具体的Java示例代码。算法原理选择排序的基本原理是将待排序数组分为已排序和未排序两部分,每次从未排序部分选择最小(或最大)的元素,将其放到已排序部分的末尾。重复上述

华为云边缘计算对接指南:Java代码示例快速实现接口华为云边缘计算对接指南:Java代码示例快速实现接口Jul 05, 2023 pm 09:57 PM

华为云边缘计算对接指南:Java代码示例快速实现接口随着物联网技术的快速发展和边缘计算的兴起,越来越多的企业开始关注边缘计算的应用。华为云提供了边缘计算服务,为企业提供了高可靠的计算资源和便捷的开发环境,使得边缘计算应用更加容易实现。本文将介绍如何通过Java代码快速实现华为云边缘计算的接口。首先,我们需要准备好开发环境。确保你已经安装了Java开发工具包(

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음