> php教程 > php手册 > PHP 导出 和写入 Excel文件

PHP 导出 和写入 Excel文件

WBOY
풀어 주다: 2016-06-13 10:58:06
원래의
884명이 탐색했습니다.

<?php
//  PHPExcel  需要下载  官网:http://www.codeplex.com/PHPExcel
header("Content-Type: text/html; charset=utf-8");

require_once &#39;./PHPExcel.php&#39;;
require_once &#39;./PHPExcel/IOFactory.php&#39;;
require_once &#39;./PHPExcel/Reader/Excel5.php&#39;;


/**
*	读取Excel表格
*	@param $filePath   Excel文件路径
*	@param $field		需要保存的字段		array(&#39;id&#39;,&#39;username&#39;,&#39;password&#39;)
*	@param $column		读取Excel那列		array(&#39;A&#39;,&#39;B&#39;,&#39;C&#39;)
*	@examlpe 
	
	$filePath = &#39;1.xls&#39;;
	$field = array(&#39;id&#39;, &#39;username&#39;, &#39;password&#39;);
	$column = array( &#39;A&#39;, &#39;B&#39;, &#39;C&#39;);

	readExcel($filePath,$field,$column);
*/
function readExcel($filePath,$field,$column){
	$objReader = PHPExcel_IOFactory::createReader(&#39;Excel5&#39;);//use excel2007 for 2007 format
	$objPHPExcel = $objReader->load($filePath); //$filename可以是上传的文件,或者是指定的文件
	$sheet = $objPHPExcel->getSheet(0); 
	$highestRow = $sheet->getHighestRow(); // 取得总行数 
	$highestColumn = $sheet->getHighestColumn(); // 取得总列数
	
	
	for($j=1;$j<=$highestRow;$j++)
	{
		$colData = array();
		$count = count($column);
		for($i=0;$i<$count;$i++){
			
			$colData[$field[$i]] = $objPHPExcel->getActiveSheet()->getCell($column[$i].$j)->getValue();//获取A列的值
			
		}
		
		$excelData[] = $colData;
		
	}
	
	return $excelData;
}





/**
*	导出数据为excel表格
*	@param $data    一个二维数组,结构如同从数据库查出来的数组
*	@param $title   excel的第一行标题,一个数组,如果为空则没有标题
*	@param $filename 下载的文件名
*	@examlpe 
	exportexcel($arr,array(&#39;id&#39;,&#39;账户&#39;,&#39;密码&#39;,&#39;昵称&#39;),&#39;文件名!&#39;);
*/
function exportexcel($data=array(),$title=array(),$filename=&#39;report&#39;){
	header("Content-type:application/octet-stream");
	header("Accept-Ranges:bytes");
	header("Content-type:application/vnd.ms-excel");  
	header("Content-Disposition:attachment;filename=".$filename.".xls");
	header("Pragma: no-cache");
	header("Expires: 0");
	//导出xls 开始
	if (!empty($title)){
		foreach ($title as $k => $v) {
			$title[$k]=iconv("UTF-8", "GB2312",$v);
		}
		$title= implode("\t", $title);
		echo "$title\n";
	}
	if (!empty($data)){
		foreach($data as $key=>$val){
			foreach ($val as $ck => $cv) {
				$data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);
			}
			$data[$key]=implode("\t", $data[$key]);
			
		}
		echo implode("\n",$data);
	}
}
?>
로그인 후 복사

 

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿