phpExcel的安装与使用

958次阅读
没有评论

共计 2216 个字符,预计需要花费 6 分钟才能阅读完成。

 安装命令: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 列内容");

phpExcel 的安装与使用

正文完
 0
评论(没有评论)