php读取excel工具PHPExcelParser

PHPABC PHP开发 2,081 次浏览 , , 1条评论

今天我把G盘格掉了,准备装个centos5.5,备份数据的时候,发现了一个不错的读取excel的工具PHPExcelParser,以前做过一些读取excel的工作,这些工具就存了下来。现在推荐给大家,也许将来用得着。

一,PHPExcelParser有以下3个特点

1,下载的PHPExcelParser里面有一个,比较详细的使用手册,告诉你什么方法是干什么用的。

2,不光可能可以把excel文件中的内容,读取出来,而且可以直接入库

3,含有实例,可以照葫芦画瓢

二,讲解一下PHPExcelParser实例的一些代码

requires 'excelparser.php';   //包括解释excel的核心文件   
 
$excel = new ExcelFileParser("debug.log", ABC_NO_LOG);  //生成一个读取句柄   
 
$error_code = $excel->ParseFromFile($filename)  //以文件形势来读取   
 
//下面这种方法呢是从字符串中读取excel   
$fd = fopen( $filename, 'rb');   
$content = fread ($fd, filesize ($name));   
fclose($fd);   
$error_code = $excel->ParseFromString($content);   
unset( $content, $fd );   
 
//返回的错误编码   
 0 - 没有错误   
 1 - 不能打开文件   
 2 - 文件太小   
 3 - 读取excel头信息出错   
 4 - 文件读取错误   
 5 - 不是excel文件,或者版本早excel5.0   
 6 - 文件已损坏   
 7 - 没有数据   
 8 - 文件版本未知   
 
array $excel->worksheet  //读取工作薄,就是读取sheet   
 
$excel->worksheet['name']   //工作薄数组   
 
boolean $excel->worksheet['unicode'][$worksheet_number] //工作薄名是不是unicode的形势   
 
string $excel->worksheet['name'][$worksheet_number]  //得到工作薄名   
 
array $exc->worksheet['data'][$worksheet_number]['cell']  //工作薄中的大数据块,他由一个小的数据块组成   
 
int $exc->worksheet['data'][$worksheet_number]['max_row']  //单个工作薄中的最大行数,其他挺像数学里面的X轴的。   
 
int $exc->worksheet['data'][$worksheet_number]['max_col']  //单个工作薄中的最大列数,其他挺像数学里面的Y轴的。   
 
int $exc->worksheet['data'][$worksheet_number]['cell'][$row][$col]['type']  //取得数据类型   
 
0 - 整型   
1 - 字符型   
2 - 浮点弄   
3 - 日期型   
 
mixed $exc->worksheet['data'][$worksheet_number]['cell'][$row][$col]['data']   
 
int $exc->worksheet['data'][$worksheet_number]['cell'][$row][$col]['font'] //取得字体的类型索引   
 
$font = $excel->fonts[$index]; //根据索引来得到excel小数据库的字体数据   
 
$font['size'] - //字体大小   
$font['italic']   - //是不是斜体   
$font['strikeout']   
$font['bold']      //是不是粗体   
$font['script']     
 
$font['underline']  - //下划线   
 
$font['name']    - //字体名称   
 
array $excel->sst  //包涵数据的数组   
 
boolean $excel->sst['unicode'][$ind]  //数据是压缩还是没有压缩的   
 
string $excel->sst['data'][$ind]  //读取数据   
 
$excel->xls2tstamp($xlsdate)   //将日期转成时间戳   
 
$ret = $excel->getDateArray($xlsdate);  //取得日期数组   
$ret['day']   =.   
$ret['month'] =.   
$ret['year']  =.  
 
requires 'excelparser.php';   //包括解释excel的核心文件
 
$excel = new ExcelFileParser("debug.log", ABC_NO_LOG);  //生成一个读取句柄
 
$error_code = $excel->ParseFromFile($filename)  //以文件形势来读取
 
//下面这种方法呢是从字符串中读取excel
$fd = fopen( $filename, 'rb');
$content = fread ($fd, filesize ($name));
fclose($fd);
$error_code = $excel->ParseFromString($content);
unset( $content, $fd );
 
//返回的错误编码
 0 - 没有错误
 1 - 不能打开文件
 2 - 文件太小
 3 - 读取excel头信息出错
 4 - 文件读取错误
 5 - 不是excel文件,或者版本早excel5.0
 6 - 文件已损坏
 7 - 没有数据
 8 - 文件版本未知
 
array $excel->worksheet  //读取工作薄,就是读取sheet
 
$excel->worksheet['name']   //工作薄数组
 
boolean $excel->worksheet['unicode'][$worksheet_number] //工作薄名是不是unicode的形势
 
string $excel->worksheet['name'][$worksheet_number]  //得到工作薄名
 
array $exc->worksheet['data'][$worksheet_number]['cell']  //工作薄中的大数据块,他由一个小的数据块组成
 
int $exc->worksheet['data'][$worksheet_number]['max_row']  //单个工作薄中的最大行数,其他挺像数学里面的X轴的。
 
int $exc->worksheet['data'][$worksheet_number]['max_col']  //单个工作薄中的最大列数,其他挺像数学里面的Y轴的。
 
int $exc->worksheet['data'][$worksheet_number]['cell'][$row][$col]['type']  //取得数据类型
 
0 - 整型
1 - 字符型
2 - 浮点弄
3 - 日期型
 
mixed $exc->worksheet['data'][$worksheet_number]['cell'][$row][$col]['data']
 
int $exc->worksheet['data'][$worksheet_number]['cell'][$row][$col]['font'] //取得字体的类型索引
 
$font = $excel->fonts[$index]; //根据索引来得到excel小数据库的字体数据
 
$font['size'] - //字体大小
$font['italic']   - //是不是斜体
$font['strikeout']
$font['bold']      //是不是粗体
$font['script']  
 
$font['underline']  - //下划线
 
$font['name']    - //字体名称
 
array $excel->sst  //包涵数据的数组
 
boolean $excel->sst['unicode'][$ind]  //数据是压缩还是没有压缩的
 
string $excel->sst['data'][$ind]  //读取数据
 
$excel->xls2tstamp($xlsdate)   //将日期转成时间戳
 
$ret = $excel->getDateArray($xlsdate);  //取得日期数组
$ret['day']   =.
$ret['month'] =.
$ret['year']  =.

个人觉得,从excel中读取数据,就像在excel里面扣东西一样。又很像数学里的X轴,Y轴,X,Y轴交叉的地方就是一个数据点,在这里也是

一条评论

  1. 电脑知识与技术博客 2011年1月16日 11:28 回复

    来学习学习了

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Go