php实现的操作excel类详解

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类详解

基础教程推荐