PhpSpreadsheet是一个纯PHP编写的组件库,它使用现代PHP写法,代码质量和性能比PHPExcel高不少,完全可以替代PHPExcel(PHPExcel已不再维护)。使用PhpSpreadsheet可以轻松读取和写入Excel文档,支持Excel的所有操作。

由于PHP操作Excel在我们项目开发过程中经常用到,所以我特意将PhpSpreadsheet的应用讲解分为4节内容,更加贴近我们的实际应用场景。这4节内容分别是:

  • 1.初识PhpSpreadsheet
  • 2.使用PhpSpreadsheet将Excel导入到MySQL数据库
  • 3.使用PhpSpreadsheet将数据导出为Excel文件
  • 4.详解PhpSpreadsheet设置单元格

本文先了解第1节内容。

软件依赖

要使用PhpSpreadsheet需要满足以下条件:

  • PHP5.6或更改版本,推荐PHP7
  • 支持php_zip扩展
  • 支持php_xml扩展
  • 支持php_gd2扩展

安装

现在开始,创建项目目录/PHPExcel,进入项目目录。

使用composer安装:

composer require phpoffice/phpspreadsheet

如何使用

在项目目录下新建/public目录,在public目录下创建示例文件test.php,编辑test.php,用以下代码。

<?php

require '../vendor/autoload.php';

use PhpOfficePhpSpreadsheetSpreadsheet;
use PhpOfficePhpSpreadsheetWriterXlsx;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Welcome to Helloweba.');

$writer = new Xlsx($spreadsheet);
$writer->save('hello.xlsx');

运行代码,你会发现在目录下生成一个hello.xlsx文件,打开Excel文件,你会看到Excel中的单元格A1中有“Welcome to Helloweba.”内容。当然你可以对单元格样式诸如颜色、背景、宽度、字体等等进行设置,这些会在接下来的几节中讲到。

PhpSpreadsheet特性

支持读取.xls,.xlsx,.html,.csv等格式文件,支持写入导出.xls,.xlsx,.html,.csv,.pdf格式文件。

提供丰富的API,提供单元格样式设置、Excel表格属性设置、图表设置等等诸多功能。使用PhpSpreadsheet完全可以生成一个外观结构都满足你的Excel表格文件。

卓越的性能,尤其在PHP7上表现优异,比PHPExcel强大很多。