TShopping

 找回密碼
 註冊
搜索
查看: 813|回復: 0

[教學] php讀取excel工具PHPExcelParser

  [複製鏈接]
發表於 2012-9-15 18:30:08 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk Push to Twitter 
PHPExcelParser,以前做過一些讀取excel的工作,這些工具就存了下來。現在推薦給大家,也許將來用得著。

一,PHPExcelParser有以下3個特點
1,下載的PHPExcelParser裡面有一個,比較詳細的使用手冊,告訴你什麼方法是幹什麼用的。
2,不光可能可以把excel文件中的內容,讀取出來,而且可以直接入庫
3,含有實例,可以照葫蘆畫瓢
二,講解一下PHPExcelParser實例的一些代碼



  1. requires 'excelparser.php';   //包括解釋excel的核心文件   
  2.   
  3. $excel = new ExcelFileParser("debug.log", ABC_NO_LOG);  //生成一個讀取句柄   

  4. $error_code = $excel->ParseFromFile($filename)  //以文件形勢來讀取   
  5. //下面這種方法呢是從字符串中讀取excel   
  6. $fd = fopen( $filename, 'rb');   
  7. $content = fread ($fd, filesize ($name));   
  8. fclose($fd);   
  9. $error_code = $excel->ParseFromString($content);   
  10. unset( $content, $fd );   
  11. //返回的錯誤編碼   
  12. 0 - 沒有錯誤   
  13. 1 - 不能打開文件   
  14. 2 - 文件太小   
  15. 3 - 讀取excel頭信息出錯   
  16. 4 - 文件讀取錯誤   
  17. 5 - 不是excel文件,或者版本早excel5.0   
  18. 6 - 文件已損壞   
  19. 7 - 沒有數據   
  20. 8 - 文件版本未知   
  21. array $excel->worksheet  //讀取工作薄,就是讀取sheet   
  22. $excel->worksheet['name']   //工作薄數組   
  23. boolean $excel->worksheet['unicode'][$worksheet_number] //工作薄名是不是unicode的形勢   
  24. string $excel->worksheet['name'][$worksheet_number]  //得到工作薄名   
  25. array $exc->worksheet['data'][$worksheet_number]['cell']  //工作薄中的大數據塊,他由一個小的數據塊組成   
  26. int $exc->worksheet['data'][$worksheet_number]['max_row']  //單個工作薄中的最大行數,其他挺像數學裡面的X軸的。   
  27. int $exc->worksheet['data'][$worksheet_number]['max_col']  //單個工作薄中的最大列數,其他挺像數學裡面的Y軸的。   
  28. int $exc->worksheet['data'][$worksheet_number]['cell'][$row][$col]['type']  //取得數據類型   
  29. 0 - 整型   
  30. 1 - 字符型   
  31. 2 - 浮點弄   
  32. 3 - 日期型   
  33. mixed $exc->worksheet['data'][$worksheet_number]['cell'][$row][$col]['data']   
  34. int $exc->worksheet['data'][$worksheet_number]['cell'][$row][$col]['font'] //取得字體的類型索引   
  35. $font = $excel->fonts[$index]; //根據索引來得到excel小數據庫的字體數據   
  36. $font['size'] - //字體大小   
  37. $font['italic']   - //是不是斜體   
  38. $font['strikeout']   
  39. $font['bold']      //是不是粗體   
  40. $font['script']     
  41. $font['underline']  - //下劃線   
  42. $font['name']    - //字體名稱   
  43. array $excel->sst  //包涵數據的數組   
  44. boolean $excel->sst['unicode'][$ind]  //數據是壓縮還是沒有壓縮的   
  45. string $excel->sst['data'][$ind]  //讀取數據   
  46. $excel->xls2tstamp($xlsdate)   //將日期轉成時間戳   
  47. $ret = $excel->getDateArray($xlsdate);  //取得日期數組   
  48. $ret['day']   = 天.   
  49. $ret['month'] = 月.   
  50. $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軸交叉的地方就是一個數據點,在這裡也是

 

臉書網友討論
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2016-12-4 03:43 , Processed in 0.074030 second(s), 18 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表