PHP-ExcelReader 安装&使用

原文:http://sourceforge.net/docman/display_doc.php?docid=22092&group_id=99160
PHP-ExcelReader

概述

PHP-ExcelReader是一个读取Excel xsl文件内容的一个PHP类.它需要OLE包支持,但不需要运行在Windows平台上.您能从这里获取到OLE包.

从2i版开始,oleread.inc文件包含在PHP ExcelReader发行包中,所以不再需要包含OLE包了.
安装

下载包含多个文件,只有2个,reader.php和oleread.inc,是运行ExcelReader必须的,其它文件是一个应用例子,自述文件等.

运行所有必需的是在项目中包含类文件(reader.php).接着包含oleread.inc.
用例

首先,包含reader类文件:

include('reader.php');

新建一个实例:

$xl_reader = new Spreadsheet_Excel_Reader();

接着,我们告诉对象要对其哪一个文件

$xl_reader->read("filename.xls");

它将导出Excel文件中所有可以识别的数据存储在一个对象中.

数据存储在2个数组中.目前没有提供方法/函数访问这些数据.可以像下面这样简单的使用数组名.

sheets数组包含了读取入对象的大量数据.

数据存储在2维数组中

$xl_reader->sheets[x][y]

    * x 为文档中的表序号
    * y 是以下的某个参数
    * numRows -- int -- 表的行数
      例如:

      $rows = $xl_reader->sheets[0]['numRows']

    * numCols -- int -- 表的列数
      例如:

      $cols = $xl_reader->sheets[0]['numCols']

    * cells -- array -- 表的实际内容. 是一个 [row][column]格式的2维数组
      例如:

      $cell_2_4 = $xl_reader->sheets[0]['cells'][2][4] //行2,列4中的数据

      这样子虽然可以, 但不是很可读,可以将它赋值到一个变量中:

      $cells = $xl_reader[0]['cells']; //the array of cell information
      $cell_2_4 = $cells[2][4]; //the data from the cell at row 2, column 4

    * cellsInfo -- array -- 表格中不同数据类型的信息.每个都包含了表格的原始数据和类型.
      这个数组包含2部分:
      raw -- 表格原始数据
      type -- 数据类型
      注: 只显示非文本数据信息.

例如:

$cell_info = $xl_reader[0]['cellsInfo'][2][4];

$cell_info['raw'] is the raw data from the cell
$cell_info['type'] is the data type

[It would be nice to have more info here on how to interpret the raw and type data.]

boundsheets 数组包含了对象的其它信息.数组按workbook索引. 第二个索引为名称.

$xl_reader->boundsheets[i]['name']

返回第i个表的表名

例如:

$sheetname = $xl_reader->boundsheets[0]['name']; // name of the first sheet

备注

如果你对Excel文件格式感兴趣,这里有个强大的参考 http://sc.openoffice.org/excelfileformat.pdf.

PHP-ExcelReader只能支持 BIFF7 ,BIFF8格式的文件.包括Excel95到Excel2003.但是不包含Excel5.0及之前的版本.实际上 Excel XP 和Excel 2003 使用的BIFF8X是BIFF8格式的一个扩展.所有添加的特性可能不被PHP-ExcelReader.锁支持.否则它只能以Excel XP/2003文件运行.

版本 2b(或者 1.0)不支持公式.所以单元格中的公式.所以,一个包含公式的单元格只能被当作一个空值单元格.cells数组将不能访问这个单元格

特别感谢 mrwizard86从论坛中提交给我这个信息.还有 bizon153创建了这个项目.

我是 mmp11.

68f76e83

你可能感兴趣的:(PHP,windows,Excel,XP,XSL)