Microsoft Excel是目前最常用的电子表格软件,而PHP中也有一些操作Excel的类库可以使用。在本文中,我们将详细讲解如何使用PHP类库来操作Excel。
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类详解
- PHP格式化显示时间date()函数案例讲解 2023-06-19
- THINKPHP5.1 Config的配置与获取详解 2023-04-20
- Discuz论坛标题和底部去掉版权信息实例讲解 2023-05-20
- PHP实现单条sql执行多个数据的insert语句方法 2023-02-22
- PHP正则验证字符串是否为数字的两种方法并附常用正则 2022-12-29
- PHP数组去重的更快实现方式分析 2022-10-15
- php 运行效率总结(提示程序速度) 2023-08-10
- PHP中number_format()函数的用法讲解 2023-01-05
- Laravel框架路由和控制器的绑定操作方法 2022-10-31
- php自动加载的两种实现方法 2023-08-03