修订版 PHP 导入 、导出EXCEL
<?phpheader("Content-Type: text/html; charset=utf-8");
require_once './PHPExcel.php';
require_once './PHPExcel/IOFactory.php';
require_once './PHPExcel/Reader/Excel5.php';
/**
* 读取Excel表格
* @param $filePath Excel文件路径
* @param $field 需要保存的字段 array('id','username','password')
* @param $column 读取Excel那列 array('A','B','C')
* @param $start 从第几行遍历 num
* @examlpe
*/
$filePath = 'Book1.xls';
$column = array( 'A','B','C','D','E');
$start = 1;
$list = readExcel($filePath,$column,$start);
function readExcel($filePath,$column,$start){
$objReader = PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format
$objPHPExcel = $objReader->load($filePath); //$filename可以是上传的文件,或者是指定的文件
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
for($j=$start;$j<=$highestRow;$j++)
{
$colData = array();
$count = count($column);
for($i=0;$i<$count;$i++){
//$colData["id".($i+1)] = $objPHPExcel->getActiveSheet()->getCell($column[$i].$j)->getValue();//获取A列的值
$colData[$column[$i]] = $objPHPExcel->getActiveSheet()->getCell($column[$i].$j)->getValue();//获取A列的值
}
$excelData[] = $colData;
}
return $excelData;
}
//$data = array(array('a','b','c','d'),array('e','f','g','h'));
$field = array('A','B','C','D','E','F');
exportexcel($list,$field,'test1111.xls','aaaaaaa');
/**
* 导出数据为excel表格
* @param $data 一个二维数组,结构如同从数据库查出来的数组
* @param $title excel的第一行标题,一个数组,如果为空则没有标题
* @param $filename 下载的文件名
$param $field 保存到excel 的 第几行的第几列
* @examlpe
exportexcel($data,$field,'test.xls','这是个测试');
*/
function exportexcel($data,$field,$filename,$title){
$objPHPExcel = new PHPExcel; //实例化excel类
//$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); //实例化excel5(2007以前的版本)写入类
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
/* 设置当前的sheet */
$objPHPExcel->setActiveSheetIndex(0);
$objActSheet = $objPHPExcel->getActiveSheet();
/**shee标题**/
$objActSheet->setTitle($title);
$fields = '';
$i = 1;
foreach($data as $value){
$j = 0;
foreach($value as $k=>$v){
$fields = $field[$j].$i;
$objActSheet->setCellValue($fields,$v);
$j++;
}
$i++;
}
$objWriter->save($filename);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header('Content-Disposition:attachment;filename='.$filename);
header("Content-Transfer-Encoding:binary");
$objWriter->save('php://output');
}
?>
页:
[1]