1. 产品
  2.   电子表格
  3.   PHP
  4.   PHPSpreadsheet

PHPSpreadsheet

 
 

用于电子表格文件的开源 PHP 库

读取、写入、操作和处理 Microsoft Excel 和 LibreOffice Calc 文件。

PHPSpreadsheet 是一个开源库,其中包括一组类,允许您与 Microsoft Excel 和 LibreOffice Calc 的各种电子表格文件格式进行交互和使用。 PHPSpreadsheet 支持包含一个或多个工作表的电子表格,其中包含用于保存各种类型数据的单元格,例如数字、公式、图像等。

Previous Next

PHP电子表格入门

首先,您需要拥有 PHP 7.1 或更高版本才能使用 PhpSpreadsheet 进行开发。将 PhpSpreadsheet 安装到项目中的推荐方法是使用 composer。在项目根目录中打开终端并运行以下命令:

这是命令

 composer require phpoffice/phpspreadsheet 

Composer 提供了一个方便的安装程序,您可以直接从命令行执行它。随意下载此文件或在 GitHub 上查看它。有两种安装方式作曲家。将其作为项目的一部分在本地安装,或作为系统范围的可执行文件全局安装。

使用电子表格单元格

PHPSpreadsheet 允许您访问单元格并通过坐标设置其值。您还可以创建一个新单元格并在其中设置一个公式。您还可以将单元格配置为占用各种类型的数据,例如日期、时间和带有前导零的数字。 PHPSpreadsheet 还允许您从数组中设置一系列单元格,以及使用迭代器或索引循环遍历单元格。您还可以使用值绑定器来允许用户友好的数据输入。

创建一个新的 XLSX - PHP

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Create a new Spreasheet
$spreadsheet = new Spreadsheet();
// Get active sheet
$sheet = $spreadsheet->getActiveSheet();
// Set cell value
$sheet->setCellValue('A1', 'File Format Developer Guide !');
// Save in Xlsx format
$writer = new Xlsx($spreadsheet);
$writer->save('FileFormat.xlsx');

创建和应用自动筛选

使用 PHPSpreadsheet,您可以应用自动过滤器范围来过滤并仅显示与您在自动过滤器中定义的条件匹配的那些行。您可以将过滤器作为添加剂应用于多个列。

PHPSpreadsheet 允许您在工作表上设置自动过滤区域。您可以创建、读取和编写自动过滤器表达式。此外,还提供各种类型的过滤器,例如简单过滤器、匹配空白、日期组过滤器、自定义过滤器、动态过滤器和前十过滤器。

在 XLSX 中应用自动过滤器 - PHP

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Load existing file without filters 
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('withoutFilter.xlsx');
// Select active worksheet
$spreadsheet->setActiveSheetIndex(0);
$spreadsheet->getActiveSheet()->setAutoFilter($spreadsheet->getActiveSheet()->calculateWorksheetDimension());
// Set active filters
$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
// Filter the Country column on a filter value of Germany
$autoFilter->getColumn('C')
  ->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
  ->createRule()
  ->setRule(
    Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
    'Germany'
  );
// Save file
$writer = new Xlsx($spreadsheet);
$writer->save('Filter.xlsx');

公式计算引擎

要在您的业务电子表格中执行从基础到高级的计算,您可以轻松调用 PHPSpreadsheet 的公式计算引擎,其余部分由它处理。

PHPSpreadsheet 的公式解析器可以在插入/删除行/列时自动调整公式。 Microsoft Excel 公式在执行前转换为 PHP 代码。为了提高性能,计算缓存用于保存公式的结果。同样,每个单独的工作表都由单独的缓存维护。

 中国人