easyise / eisexlsx

一个基于原生单元格地址(如A1或R1C1)进行XLSX文件读写操作的库。

1.6.1.0 2022-02-20 09:13 UTC

This package is auto-updated.

Last update: 2024-09-29 04:49:01 UTC


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授权