phpExcel的安装与使用

安装命令:composer require phpoffice/phpexcel

在使用时,需要引入classes目录下的PHPExcel.php的PHPExcel类以及classes\PHPExcel\IOFactory.php的PHPExcel_IOFactory类。
具体项目实例在项目经验中查看。

使用步骤:

//如果使用thinkphp5.1框架,则直接use即可
use PHPExcel_IOFactory;
use PHPExcel;

//实例化phpexcel对象
$objPHPExcel = new \PHPExcel();

//设置Excel属性
$objPHPExcel->getProperties()
	        ->setCreator("Maarten Balliauw")					//创建人
	        ->setLastModifiedBy("Maarten Balliauw")				//最后修改人
	        ->setTitle("Office 2007 XLSX Test Document")		//设置标题
	        ->setSubject("Office 2007 XLSX Test Document")		//设置主题
	        ->setDescription("Test document ")					//设置备注
	        ->setKeywords( "office 2007 openxml php")			//设置关键字
	        ->setCategory( "Test result file");					//设置类别

// 给表格添加数据
$objPHPExcel->setActiveSheetIndex(0)             //设置第一个内置表(一个xls文件里可以有多个表)为活动的
            ->setCellValue( 'A1', 'Hello' )         //给表的单元格设置数据
            ->setCellValue( 'B2', 'world!' )      //数据格式可以为字符串
            ->setCellValue( 'C1', 12)            //数字型
            ->setCellValue( 'D2', 12)            //
            ->setCellValue( 'D3', **true** )           //布尔型
            ->setCellValue( 'D4', '=SUM(C1:D2)' );//公式

//激活当前表
$objPHPExcel->setActiveSheetIndex(0);
ob_end_clean();//清除缓冲区,避免乱码

//最后只需要生成Excel或者提示下载即可
//生成Excel,并自定义保存路径
//"Excel2007"生成2007版本的xlsx,"Excel5"生成2003版本的xls
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');
$objWriter->save($path);

//弹出提示下载文件
header('pragma:public');  
header("Content-Disposition:attachment;filename=$expFileName");  
header('Cache-Control: max-age=0');
$objWriter = PHPExcel\_IOFactory:: *createWriter*($objPHPExcel, 'Excel2007');
$objWriter->save( 'php://output');

PHP EXCEL如何获取行数

PHPExcel_IOFactory::createReader('Excel2007')->load('Excel文件名或路径')->getSheet(0)->getHighestRow();//2007以上版本Exel
PHPExcel_IOFactory::createReader('Excel5')->load('Excel文件名或路径')->getSheet(0)->getHighestRow();//2007以下版本Exel

读取excel文件

try {
            $inputFileType = \PHPExcel_IOFactory::identify($path);
            $objReader = \PHPExcel_IOFactory::createReader($inputFileType);
            $objPHPExcel = $objReader->load($path);
        } catch(\Exception $e) {
            die('加载文件发生错误:"'.pathinfo($path,PATHINFO_BASENAME).'": '.$e->getMessage());
        }

读取已有表格后插入新数据

$objdatarows 可以定义为读取前面表格的所有行数,+ 1以后就是新行数。

 $row=$objdatarows+1;
      $objPHPExcel->getActiveSheet()->insertNewRowBefore($row,1);  
        //在操作行的号前加一空行,这空行的行号就变成了当前的行号
 //对应的列都附上数据和编号
      $objPHPExcel->getActiveSheet()->setCellValue( 'A'.$row,"第1列内容");
      $objPHPExcel->getActiveSheet()->setCellValue( 'B'.$row,"第2列内容");
      $objPHPExcel->getActiveSheet()->setCellValue( 'C'.$row,"第3列内容");

图片[1]-phpExcel的安装与使用 - 易微帮博客-易微帮博客

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论