bcostea / excelerate
用于读写 XLSX 文件的 PHP 库
v0.1.2
2023-05-30 12:27 UTC
Requires
- php: ^8.0
- ext-simplexml: *
- ext-zip: *
Requires (Dev)
- jangregor/phpstan-prophecy: ^1.0.0
- php-parallel-lint/php-console-highlighter: ^1.0
- php-parallel-lint/php-parallel-lint: ^1.3
- phpmd/phpmd: ^2.9
- phpstan/extension-installer: ^1.0.5
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^9.5
This package is not auto-updated.
Last update: 2024-09-23 16:57:12 UTC
README
描述
该库设计为轻量级,具有最小内存使用。
基于
它被设计用于在(Office 2007+)XLSX 格式下读取和写入兼容 Excel 的电子表格
- 支持 PHP 8+
- 接受 UTF-8 编码的输入
- 多张工作表
- 支持货币/日期/数字单元格格式化,简单和数组公式
- 支持基本单元格样式
- 支持写入包含 100K+ 行的大电子表格
文档
- http://www.ecma-international.org/publications/standards/Ecma-376.htm
- http://officeopenxml.com/SSstyles.php
用法
安装
使用 Composer
composer require bcostea/excelerate
读取
打开 Excel 文件
$xlsx = new XLSXReader('sample.xlsx');
获取工作表列表
$sheets = $xlsx->getSheetNames();
从工作表获取数据
$data = $xlsx->getSheetData('Sales');
写入
简单示例
$data = array( array('year','month','amount'), array('2003','1','220'), array('2003','2','153.5'), ); $writer = new XLSXWriter(); $writer->writeSheet($data); $writer->writeToFile('output.xlsx');
简单/高级单元格格式
$header = array( 'created'=>'date', 'product_id'=>'integer', 'quantity'=>'#,##0', 'amount'=>'price', 'description'=>'string', 'tax'=>'[$$-1009]#,##0.00;[RED]-[$$-1009]#,##0.00', ); $data = array( array('2015-01-01',873,1,'44.00','misc','=D2*0.05'), array('2015-01-12',324,2,'88.00','none','=D3*0.05'), ); $writer = new XLSXWriter(); $writer->writeSheetHeader('Sheet1', $header ); foreach($data as $row) $writer->writeSheetRow('Sheet1', $row ); $writer->writeToFile('example.xlsx');
简单单元格格式映射到更高级的单元格格式
自版本 0.30 起提供基本单元格样式