woff 發表於 2012-9-15 18:30:08

php讀取excel工具PHPExcelParser

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]
查看完整版本: php讀取excel工具PHPExcelParser