国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

PHP通過(guò)PHPExcel類導(dǎo)入導(dǎo)出excel

2024-05-04 21:47:52
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

PHPExcel 是用來(lái)操作Office Excel 文檔的一個(gè)PHP類庫(kù),它基于微軟的OpenXML標(biāo)準(zhǔn)和PHP語(yǔ)言,可以使用它來(lái)讀取、寫入不同格式的電子表格.

導(dǎo)出類:PHPExcel類導(dǎo)出excel,同時(shí)對(duì)PHPExcel做了些精簡(jiǎn)處理,基本上可以滿足數(shù)據(jù)導(dǎo)出excel的功能,代碼如下:

  1. 代碼如下 復(fù)制代碼  
  2. //載入PHPExcel類 
  3. require './phpexcel/PHPExcel.php'
  4.  
  5. //創(chuàng)建一個(gè)excel對(duì)象實(shí)例 
  6. $objPHPExcel = new PHPExcel(); 
  7.  
  8. //設(shè)置文檔基本屬性 
  9. $objProps = $objPHPExcel->getProperties(); 
  10. $objProps->setCreator("Lao Mao"); 
  11. $objProps->setLastModifiedBy("Lao Mao"); 
  12. $objProps->setTitle("Office XLS Test Document"); 
  13. $objProps->setSubject("Office XLS Test Document, Demo"); 
  14. $objProps->setDescription("Test document, generated by PHPExcel."); 
  15. $objProps->setKeywords("office excel PHPExcel"); 
  16. $objProps->setCategory("Test"); 
  17.  
  18. //設(shè)置當(dāng)前的sheet索引,用于后續(xù)的內(nèi)容操作。 
  19. //一般只有在使用多個(gè)sheet的時(shí)候才需要顯示調(diào)用。 
  20. //缺省情況下,PHPExcel會(huì)自動(dòng)創(chuàng)建第一個(gè)sheet被設(shè)置SheetIndex=0 
  21. $objPHPExcel->setActiveSheetIndex(0); 
  22.  
  23. //設(shè)置當(dāng)前活動(dòng)sheet的名稱 
  24. $objActSheet = $objPHPExcel->getActiveSheet(); 
  25. $objActSheet->setTitle('測(cè)試Sheet'); 
  26.  
  27. //設(shè)置單元格內(nèi)容
  28. //這里的數(shù)據(jù)可以從數(shù)據(jù)庫(kù)中讀取,然后再做循環(huán)處理 
  29. $objPHPExcel->getActiveSheet()->SetCellValue('A1''a1'); 
  30. $objPHPExcel->getActiveSheet()->SetCellValue('A2''a2'); 
  31. $objPHPExcel->getActiveSheet()->SetCellValue('A3''a3'); 
  32. $objPHPExcel->getActiveSheet()->SetCellValue('A4''a4'); 
  33. $objPHPExcel->getActiveSheet()->SetCellValue('A5''a5'); 
  34.  
  35. $objPHPExcel->getActiveSheet()->SetCellValue('B1''b1'); 
  36. $objPHPExcel->getActiveSheet()->SetCellValue('B2''b2'); 
  37. $objPHPExcel->getActiveSheet()->SetCellValue('B3''b3'); 
  38. $objPHPExcel->getActiveSheet()->SetCellValue('B4''b4'); 
  39. $objPHPExcel->getActiveSheet()->SetCellValue('B5''b5'); 
  40.  
  41. $objPHPExcel->getActiveSheet()->SetCellValue('C1''c1'); 
  42. $objPHPExcel->getActiveSheet()->SetCellValue('C2''c2'); 
  43. $objPHPExcel->getActiveSheet()->SetCellValue('C3''c3'); 
  44. $objPHPExcel->getActiveSheet()->SetCellValue('C4''c4'); 
  45. $objPHPExcel->getActiveSheet()->SetCellValue('C5''c5'); 
  46.  
  47. //輸出文檔 
  48. $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); 
  49.  
  50. //設(shè)置header頭部信息,并輸出到瀏覽器 
  51. //header('Content-Type: application/vnd.ms-excel'); 
  52. //header("Content-Disposition:attachment; filename=demo.xls"); 
  53. //header('Cache-Control: max-age=0'); 
  54. //$objWriter->save('php://output'); 
  55.  
  56. //保存至某一位置 
  57. $objWriter->save(dirname(__FILE__) . '/demo.xls'); 

導(dǎo)入excel的方法,代碼:

  1. //載入PHPExcel類 
  2. include(dirname(__FILE__).'/phpexcel/PHPExcel.php'); 
  3.  
  4. $Obj = new PHPExcel_Reader_Excel5(); 
  5. $Obj->setReadDataOnly(true); 
  6.  
  7. //讀取demo.xls文件 
  8. $phpExcel = $Obj->load(dirname(__FILE__).'/output.xls'); 
  9.  
  10. //獲取當(dāng)前活動(dòng)sheet 
  11. $objWorksheet = $phpExcel->getActiveSheet(); 
  12.  
  13. //獲取行數(shù) 
  14. $highestRow = $objWorksheet->getHighestRow(); 
  15.  
  16. //獲取列數(shù) 
  17. $highestColumn = $objWorksheet->getHighestColumn(); 
  18. $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); 
  19.  
  20. //循環(huán)輸出數(shù)據(jù) 
  21. $data = array(); 
  22. for($row = 1; $row <= $highestRow; ++$row) { 
  23.  for($col = 0; $col < $highestColumnIndex; ++$col) { 
  24.   $val = $objWorksheet->getCellByColumnAndRow($col$row)->getValue(); 
  25.   $data[$row][$col] = trim($val); 
  26.  } 
  27.  
  28. echo '<pre>'
  29. print_r($data); 
  30. echo '</pre>'

但是這種方式有缺陷,老版本的excel有個(gè)數(shù)據(jù)上限,最多65536行數(shù)據(jù),這時(shí)我們就無(wú)法通過(guò)excel來(lái)實(shí)現(xiàn)大數(shù)據(jù)的導(dǎo)出, 但我估計(jì)也沒(méi)幾個(gè)有這么多數(shù)據(jù)吧,當(dāng)然如果有可以考慮使用csv來(lái)操作.

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 鄂托克前旗| 芒康县| 金堂县| 泾源县| 鄂温| 聂拉木县| 子洲县| 中超| 垣曲县| 西华县| 红原县| 温州市| 江陵县| 衡阳市| 宝坻区| 竹山县| 康乐县| 大方县| 尉氏县| 甘孜县| 鄂托克前旗| 福建省| 呼和浩特市| 灌南县| 镇沅| 景泰县| 方城县| 如皋市| 香港 | 东丰县| 湖南省| 洪洞县| 习水县| 彭山县| 盘山县| 景德镇市| 南溪县| 伊川县| 阜阳市| 鄂尔多斯市| 隆尧县|