PHPExcel是php编程语言的类,PHPExcel是一个用来读写Excel2007(OpenXML)文件的PHP库,软件是开发Excel过程中经常使用的php类库编辑模块,有了这个模块,无论是加载新的分析数据还是编辑以前的数据,都会变得更加简单,为您创建新的Excel附加功能提供了友好的编辑环境,该项目是围绕微软标准的OpenXML和PHP。
软件功能
错误处理
当然,你也应该总是对你的脚本应用一些错误处理。 PHPExcel引发异常,所以你可以在Try / Catch块中包装访问库方法的所有代码,以捕获遇到的任何问题,并以适当的方式处理它们。
PHPExcel读者抛出一个PHPExcel_Reader_Exception。
Lazy Loader
PHPExcel实现一个自动加载器或"lazy loader",这意味着没有必要在PHPExcel中包含每个文件。 只需要包含初始的PHPExcel类文件,那么autoloader将在需要时包含其他类文件,因此只有脚本实际需要的那些文件将被加载到PHP内存中。 其主要优点是它可以减少PHPExcel本身的内存占用,从而减少了PHP内存。
内存中的电子表格
PHPExcel的架构内置了一种可以作为内存中电子表格的方式。 这意味着,如果想要创建一个与PHPExcel的对象模型通信的电子表格的基于Web的视图,那么他只需要编写前端代码。
就像桌面电子表格软件一样,PHPExcel表示一个包含一个或多个工作表的电子表格,其中包含具有数据,公式,图像,...的单元格
Reader和作家
自己,PHPExcel不提供读取或写入持久化电子表格(在磁盘或数据库中)的功能。 为了提供这种功能,可以使用读者和作家。
PHPExcel类
PHPExcel类是PHPExcel的核心。 它包含对包含的工作表,文档安全设置和文档元数据的引用。
为了简化PHPExcel概念:PHPExcel类表示您的工作簿。
通常,您将通过以下两种方式之一创建一个工作簿:将其从电子表格文件中加载,或手动创建。 第三个选项虽然不常用,但是克隆了使用前两种方法之一创建的现有工作簿。
从文件中引用工作簿
"PHPExcel用户文档 - 阅读电子表格文件"文档中完整描述了支持的不同电子表格格式的详细信息以及可用于读取PHPExcel对象的选项。
软件特色
应用过滤器
如果要从脚本中执行过滤器,则需要手动执行。 您可以使用autofilters showHideRows()方法来执行此操作。
显示已筛选的行
简单地循环自动过滤器区域中的行仍然可以访问任何行,无论它是否匹配过滤条件。 要选择性地只访问过滤的行,您需要测试每一行的可见性设置。
自动过滤排序
在MS Excel中,自动过滤还允许对行进行排序。 PHPExcel不支持此功能。
执行自动过滤器
当在MS Excel中应用自动过滤器时,它将根据所选标准为自动过滤器区域的每一行设置行隐藏/可见标志,以便仅显示与过滤条件匹配的行。
设置或更改过滤器表达式时,仅当保存文件时,PHPExcel将不会自动执行等效功能。
使用方法
自定义过滤器
在MS Excel中,自定义过滤器允许我们使用运算符以及值来选择更复杂的条件。 典型的例子可能是范围(例如介于-20和+20之间)的值,或具有通配符的文本值(例如以字母U开头)。 为了处理这个,他们
自定义过滤器限于2个规则,可以使用AND或OR连接。
MS Excel使用*作为通配符来匹配任意数量的字符,? 作为通配符匹配单个字符。 'U *'等于"以'U'开始; '* U'等于"以"U"结尾; 和'* U *'等于"包含"U"
如果你想明确地匹配一个*或一个? 字符,你可以用波浪号(〜)来转义它,所以?〜**将明确匹配一个*字符作为单元格值中的第二个字符,后跟任意数量的其他字符。 需要转义的唯一其他角色是〜本身。
要创建一个"之间"条件,我们需要定义两个规则:
我们还将规则类型设置为CUSTOMFILTER。
这定义了两个规则,过滤数字> = -20 OR <= 20,因此我们还需要修改连接条件以反映AND而不是OR。
Dynamic过滤器
动态过滤器基于动态比较条件,其中我们与单元格值进行比较的值是可变的,例如"today"; 或者当我们针对单元格数据的聚合进行测试时(例如,"上面的平均值")。 一次只能将一个动态过滤器应用于列。
使用说明
阅读和写入文件
如您已经从第3.3部分读到的读者和作者,使用基础的PHPExcel类读取和写入持久存储是不可能的。为此,PHPExcel提供读写器,它们是PHPExcel_Writer_IReader和PHPExcel_Writer_IWriter的实现。
PHPExcel_IOFactory
PHPExcel API提供了多种方法来创建一个PHPExcel_Writer_IReader或PHPExcel_Writer_IWriter实例:
直接创建
ViaPHPExcel_IOFactory
下面的所有示例演示直接创建方法。请注意,您也可以使用PHPExcel_IOFactory类来执行此操作。
使用PHPExcel_IOFactory创建PHPExcel_Reader_IReader
将文件读入PHPExcel有两种方法:使用自动文件类型解析或显式。