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軸交叉的地方就是一個數據點,在這裡也是
|