phpexcel 是一款可以帮助您开发Excel程序的工具,当您在使用Excel软件或者开发Excel附加功能的时候,可以下载这款简单的辅助插件,让您在处理Excel数据库的时候得到一个更加方便简单的处理工具,PHPExcel(php excel样式)是开发Excel过程中经常使用的php类库编辑模块,有了这个模块,无论是加载新的分析数据还是编辑以前的数据,都会变得更加简单,为您创建新的Excel附加功能提供了友好的编辑环境,需要的朋友可以下载试试!
软件功能
错误处理
当然,你也应该总是对你的脚本应用一些错误处理。 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”; 或者当我们针对单元格数据的聚合进行测试时(例如,“上面的平均值”)。 一次只能将一个动态过滤器应用于列。
四十个过滤器
十大过滤器类似于动态过滤器,因为它们基于单元格中实际数据值的总结。 但是,与只能选择单个选项的动态过滤器不同,前十个过滤器允许您根据多个条件进行选择:
您可以确定是否需要顶部(最高)或底部(最低)值。
您可以确定要在过滤器中选择的值
您可以确定这是应该是百分比还是数量的项目。
像动态过滤器一样,一次只能使用一个十进制的过滤器。
我们首先指定一个过滤器类型,这次是DYNAMICFILTER。
帮助方法
您可以通过使用Reader的listWorksheetNames()方法来检索文件中包含的工作表名称列表,而无需加载整个文件。 类似地,listWorksheetInfo()方法将检索文件中的工作表的维度,而不需要加载和解析整个文件。
listWorksheetNames()方法返回一个列出工作簿中每个工作表名称的简单数组:
Pipe或Tab分隔值文件
CSV加载器默认加载一个逗号用作分隔符的文件,但是您可以使用setDelimiter()方法修改此文件以加载选项卡或管道分隔的值文件。
只从文件中读取特定的列和行(读取过滤器)
如果您只想阅读工作表的一部分,那么您可以编写一个过滤器类,以确定是否应由加载程序读取单个单元格。 读取过滤器必须实现PHPExcel_Reader_IReadFilter接口,并且包含接受$ column,$ row和$ worksheetName参数的readCell()方法,并返回一个布尔值true或false,表示是否应该读取由这些参数标识的工作簿单元格
使用说明
阅读和写入文件
如您已经从第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有两种方法:使用自动文件类型解析或显式。
自动文件类型解析检查与PHPExcel分发的不同PHPExcel_Reader_IReader。如果其中一个可以加载指定的文件名,则使用该PHPExcel_Reader_IReader加载该文件。显式模式要求您指定应使用哪个PHPExcel_Reader_IReader。
知名限制
PHPExcel计算引擎有一些已知的限制。 大多数是由于Excel公式在执行之前被转换为PHP代码。 这意味着Excel公式计算受PHP语言特性的约束。
.操作优先
在Excel'+'胜过''',就像'*'在普通代数中胜过'+'。 前一条规则不是使用PHPExcel附带的计算引擎找到的。
Excel 5(BIFF)文件格式
Excel5文件格式是旧的Excel文件格式,在PHPExcel中实现,以提供统一的方式来创建.xlsx和.xls文件。 它基本上是PEAR Spreadsheet_Excel_Writer的修改版本,尽管它已经被扩展,并且具有比旧的PEAR库更少的限制和更多的功能。 这可以通过BIFF8读取所有使用OLE2:BIFF5(通过office 95引入)的BIFF版本,但不能读取较早的版本。
∨ 展开