工作簿和工作表的操作
概述和快速入门向导
开始(环境相关)
- 略
架构
- 略
创建一个Spreadsheet
- 从一个文件中加载一个Workbook
$inputFileName = './sampleData/example1.xls'; /** Load $inputFileName to a PHPExcel Object **/ $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
- 创建一个新的Workbook
/** Create a new PHPExcel Object **/ $objPHPExcel = new PHPExcel();
创建一个Workbook的时候总会伴随着创建一个Worksheet
配置设置
- 略
删除Workbook
- 因为工作簿和工作表之间的循环映射,导致想要unset一个工作簿必须按照如下步骤来操作:
$objPHPExcel->disconnectWorksheets(); unset($objPHPExcel);
Worksheets
Worksheet#
- 当实例化一个workbook的时候,会创建一个名为WorkSheet1的表
- 获取一个workbook的worksheet数量:getSheetCount()
- 获取workbook中的所有表的表名:getSheetNames()
- 想要接入一个打开的workbook的表格,需要使用:
// Get the second sheet in the workbook // Note that sheets are indexed from 0 $objPHPExcel->getSheet(1);
使用经验:注意和getActiveSheet()的区别
- 如果想要使用表名来接入一个表:
$objPHPExcel->getSheetByName('Worksheet 1');
- ActiveSheet是打开电子表格的时候默认的活动表,接入活动表使用下面方法:
$objPHPExcel->getActiveSheet();
-
通过索引或者名字来更改ActiveSheet
setActiveSheetIndex() setActiveSheetIndexByName()
添加一个worksheet#
- 添加Worksheet的两种方法
$objPHPExcel->createSheet();
或者
// Create a new worksheet called "My Data" $myWorkSheet = new PHPExcel_Worksheet($objPHPExcel, 'My Data'); // Attach the "My Data" worksheet as the first worksheet in the PHPExcel object $objPHPExcel->addSheet($myWorkSheet, 0);
- 复制worksheet
$objClonedWorksheet = clone $objPHPExcel->getSheetByName('Worksheet 1'); $objClonedWorksheet->setTitle('Copy of Worksheet 1'); $objPHPExcel->addSheet($objClonedWorksheet);
或者
$objClonedWorksheet = clone $objPHPExcel1->getSheetByName('Worksheet 1'); $objPHPExcel->addExternalSheet($objClonedWorksheet);
删除一个Worksheet
- 删除Worksheet
$sheetIndex = $objPHPExcel->getIndex( $objPHPExcel->getSheetByName('Worksheet 1') ); $objPHPExcel->removeSheetByIndex($sheetIndex);