easyise / eisexlsx
一个基于原生单元格地址(如A1或R1C1)进行XLSX文件读写操作的库。
Requires
- php: >=5.2.17
README
一个基于原生单元格地址(如A1或R1C1)进行XLSX文件读写操作的库。
此类设计用于处理上传的Microsoft® Excel™ 2007-2011-2013文件格式的电子表格,支持OpenXML SpereadsheetML格式。
当前版本的此库允许读取用户上传的文件内容,并将数据写入预上传的模板文件,并将其发送回用户
- 允许更改现有单元格数据
- 克隆行,用数据填充新行
- 在工作簿内克隆工作表,删除不必要的表格
- 单元格着色。
此库为使用PHP信息系统的Excel™ EDI提供了一种最简单的方式,用于数据输入和输出。
用户不再需要将Excel™电子表格转换为CSV和其他格式,他们可以直接使用电子表格将数据上传到网站。
您可以使用从用户那里收到的文件作为您的网站输出文档模板,实现单元格格式、工作表布局、设计等100%匹配。使用eiseXLSX,您可以停止在输出文档布局上浪费时间 - 您只需要求您的客户人员准备他们希望以XLSX格式看到的文档。然后,您可以将这些文件放置在服务器上,并使用PHP填充它们所需的数据。
与其他用于操作XLSX文件的PHP库不同,eiseXLSX简单、紧凑、简洁。您不需要学习XLSX文件格式即可操作它。只需使用任何格式中的单元格地址(支持A1和R1C1)和您网站数据库中的数据即可。就这么简单。
在Patreon上捐赠:https://www.patreon.com/easyise
项目主页:http://russysdev.github.io/eiseXLSX/ 在线参考手册:https://russysdev.github.io/eiseXLSX/docs
PHPClasses主页:https://www.phpclasses.org/package/8573-PHP-Read-and-write-Excel-spreadsheets-in-XLSX-format.html
示例
写入
- 从您的客户那里获取格式化的XLSX文件
- 将其解压到您的项目文件夹内(或您喜欢的任何其他文件夹)
- 编写PHP脚本并在其中包含类似的代码
<?php
include_once "eiseXLSX/eiseXLSX.php";
$xlsx = new eiseXLSX("myemptyfile.xlsx");
$xlsx->data('A4', 'Hello, world!'); // either A1 or R1C1 are accepted
$xlsx->Output("mynewfile.xlsx", "F"); // save the file
?>
读取
<?php
include_once "eiseXLSX.php";
try { //give it a try to avoid any uncaught error
// caused by broken content of uploaded file
$xlsx = new eiseXLSX($_FILES["fileXLSX"]["tmp_name"]);
} catch(eiseXLSX_Exception $e) {
die($e->getMessage());
}
echo ($myData = $xlsx->data("R15C10")); //voilat!
?>
最新消息
- 1.6.1.0:现在有了unlockSheets()方法,可以删除修改任何数据/运行宏时输入密码的需要,通过从所有或指定的工作表中移除sheetProtection标签。
示例
$xlsx->unlockSheets(); // unlocks all sheets
或
$xlsx->unlockSheets(1); // unlocks sheet with sheetId=1
或
$xlsx->unlockSheets([1, 2, 4]); // unlocks sheet with sheetId's 1, 2 and 4.
- 1.6.0.4:我已经添加了在设置数据时保留单元格公式的功能。函数data()已更新,带有参数$flags,将['keep_formula'=>True]放置其中,公式将保留在指定的单元格中。
示例
$xlsx->data('R1C1', 42, 'n', ['keep_formula' => True]);
- 警告:eiseXLSX::Output()函数的行为已更改。请参阅更多信息。
- 方法eiseXLSX::getDataValidationList($cellAddress) - 返回关联数组格式的数据验证列表。
- 静态方法eiseXLSX::checkAddressInRange() - 检查单元格地址是否属于给定范围。
- 方法eiseXSLX::getDataByRange() - 返回指定单元格范围内的关联数组数据。
©2013-2022 Ilya S. Eliseev
根据GNU公共许可证v 2.0授权