PHP实现操作Excel类详解
Microsoft Excel是目前最常用的电子表格软件,而PHP中也有一些操作Excel的类库可以使用。在本文中,我们将详细讲解如何使用PHP类库来操作Excel。
安装类库
在PHP中要使用Excel类库,需要首先安装PHPExcel类库。可以通过如下方式进行安装:
composer require phpoffice/phpexcel
安装完成之后,我们就可以使用PHPExcel类库了。
创建Excel文件
创建Excel文件非常简单。首先,我们需要引入PHPExcel类库:
require_once __DIR__ . '/vendor/autoload.php';
然后,我们就可以创建一个PHPExcel对象,并设置一些基本属性:
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()
->setCreator("Myself")
->setLastModifiedBy("Myself")
->setTitle("Test Document")
->setSubject("Test Document")
->setDescription("Test Document")
->setKeywords("Test Document")
->setCategory("Test Document");
这里我们设置了Excel的创建者、标题、主题、描述、关键字和分类。
接下来,我们可以通过PHPExcel对象的setActiveSheetIndex()方法来设置当前激活的工作表,然后通过setCellValue()方法来设置单元格的内容:
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Hello')
->setCellValue('B1', 'World');
这里我们设置了第1行第1列和第1行第2列的单元格内容。
最后,我们通过PHPExcel_IOFactory类的createWriter()方法来生成Excel文件,并使用output()方法输出文件:
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('test.xls');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename=test.xls');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
这里我们将生成的Excel文件保存到本地,并输出文件到浏览器下载。
读取Excel文件
要读取Excel文件同样非常简单。我们可以使用PHPExcel_IOFactory类的load()方法来加载Excel文件,并使用getActiveSheet()方法来获取当前激活的工作表:
$objPHPExcel = PHPExcel_IOFactory::load('test.xls');
$sheet = $objPHPExcel->getActiveSheet();
这里我们加载了名为test.xls的Excel文件,并获取了当前激活的工作表。
然后,我们可以通过getCell()方法来获取单元格的值:
$valueA1 = $sheet->getCell('A1')->getValue();
$valueB1 = $sheet->getCell('B1')->getValue();
这里我们获取了第1行第1列和第1行第2列的单元格的值。
示例说明
示例1
下面是一个使用PHPExcel类库创建Excel文件的示例代码:
require_once __DIR__ . '/vendor/autoload.php';
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()
->setCreator("Myself")
->setLastModifiedBy("Myself")
->setTitle("Test Document")
->setSubject("Test Document")
->setDescription("Test Document")
->setKeywords("Test Document")
->setCategory("Test Document");
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Hello')
->setCellValue('B1', 'World');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('test.xls');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename=test.xls');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
这里我们创建了一个名为test.xls的Excel文件,并设置了第1行第1列和第1行第2列的单元格的内容为Hello和World。
示例2
下面是一个使用PHPExcel类库读取Excel文件的示例代码:
require_once __DIR__ . '/vendor/autoload.php';
$objPHPExcel = PHPExcel_IOFactory::load('test.xls');
$sheet = $objPHPExcel->getActiveSheet();
$valueA1 = $sheet->getCell('A1')->getValue();
$valueB1 = $sheet->getCell('B1')->getValue();
echo "A1的值为:{$valueA1},B1的值为:{$valueB1}";
这里我们加载了名为test.xls的Excel文件,并获取了第1行第1列和第1行第2列的单元格的值,并输出它们的值。
本文仅仅是对PHPExcel类库的一些基本使用进行了介绍,具体的操作还需要读者深入学习。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php实现的操作excel类详解 - Python技术站