laacz / xls-parser
该包已被废弃,不再维护。没有建议的替代包。
解析XLS文件的库
0.3
2019-04-17 10:18 UTC
Requires
- php: >=5.4
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ~4.4
This package is auto-updated.
Last update: 2023-07-28 01:21:47 UTC
README
XLSParser是一个快速PHP库,旨在解析微软Excel旧版二进制XLS格式。由于所有PHP实现都太慢,因此编写了它。代码基本上是Python优秀xlrd包的直接移植。该库非常早期,我多年前就创建了它。
反馈
接受问题和拉取请求。
需求
- PHP 5.4.0或更高版本。
- 多字节字符串扩展 (mbstring),用于处理较新Excel文件中使用的UTF-16LE编码。
- 由于PHP的unpack/pack,系统为小端。如果您不是在Sparc上,应该没问题。
安装
通过命令行:composer require laacz/xls-parser
。
测试
使用composer install --dev
安装依赖项,然后使用vendor/bin/phpunit
运行测试。
用法
简单至上。提供文件名,它就会被加载或解析。
$book = new laacz\XLSParser\Book(file_get_contents('workbook.xls'));
访问工作表
可以通过它们的数字索引或名称访问工作表。由于Sheet
对象实现了ArrayAccess和IteratorAggregate,您也可以这样做。
$sheet = $book[0]; $sheet = $book['Page1']; $sheet = $book['Vājprāts'];
访问单元格
单元格也可以像工作表一样访问。索引从零开始。
$row = $sheet[0]; $cell = $sheet[$sheet->nrows - 1][1];
要获取单元格的值,将其转换为字符串(或在其上下文中使用它)或获取value
属性
$val1 = $cell->value; $val2 = (string)$cell;
或者,如果您希望...
$val1 = $book[0][0][0]->value;
格式化
到目前为止,格式可以以原始方式访问。简而言之,工作表包含映射数组rich_text_runlist_map[][]
,它包含具有两个元素的数组 - 位置和字体引用。第一个是应用样式的起始位置,第二个是指向书的font_list[]
的数字,它本身包含格式描述。
Excel日期
库会尽力解析单元格中找到的日期。它以公共日期格式返回字符串:'yyyy-mm-dd hh:mi:ss'。例如:2014-12-31 12:59:59。
愿望清单
- 在此库的上下文中不存在内存效率。
- 性能可能会更好。
- 抽象格式化。
- 添加用于常见任务的辅助方法 - 返回列、范围等。