ホームページ >バックエンド開発 >PHPチュートリアル >PHPExcelの最も簡単なサンプルチュートリアル

PHPExcelの最も簡単なサンプルチュートリアル

WBOY
WBOYオリジナル
2016-06-20 12:33:07830ブラウズ

PHPExcel は、非常に強力な MS Office Excel ドキュメント生成ライブラリです。より複雑な形式でデータを出力する必要がある場合は、PHPExcel が適しています。ただし、その使用方法は比較的複雑です。覚えておくためにリストアップしてください。

PHP コード

  1. //PHPExcel クラス ライブラリのインクルード パスを設定します
  2. set_include_path( '.' . PATH_SEPARATOR . P_LIBS' . PATH_SEPARATOR . cel.php' ;
  3. // コメントを解除
  4. // または
  5. // 処理オブジェクトを作成します 例
  6. $objExcel = new PHPExcel();
  7. // ファイル形式書き込みオブジェクト インスタンスを作成し、コメントを解除します
  8. // または
  9. //$objWriter->setOffice2003Compatibility(true);
  10. //****** ****** **********************
  11. //基本的なドキュメントのプロパティを設定します
  12. $objProps = $ objExcel ->getProperties( );
  13. $objProps ->setCreator( "ジール リー" );
  14. $objProps ->setLastModifiedBy( "ジール リー" ); ;setTitle( "Office XLS テスト ドキュメント" );
  15. $objProps ->setSubject( "Office XLS テスト ドキュメント、デモ" ) ;setDescription( "PHPExcel によって生成されたテスト ドキュメント" ); >
  16. $objProps ->setKeywords( "office Excel PHPExcel" );
  17. $objProps ->setCategory( "Test" );
  18. // ************************************* ***
  19. // 現在の値を設定します後続のコンテンツ操作のためのシート インデックス。
  20. //通常、表示呼び出しは複数のシートを使用する場合にのみ必要です。
  21. //デフォルトでは、PHPExcel は SheetIndex=0 で最初のシートを自動的に作成します >
  22. $objActSheet = $objExcel ->getActiveSheet();
  23. //現在アクティブなシートの名前を設定します
  24. $objActSheet ->setTitle( 'TestSheet' );
  25. //** *******************************************************************************************************************************************************************コンテンツ タイプ
  26. $objActSheet ->setCellValue( ' A1' , '文字列コンテンツ' ); // 文字列コンテンツ
  27. $objActSheet ->setCellValue( 'A2' , 26) ; 2 : A2) ') // 式
  28. // 差分指定コンテンツタイプ
  29. $ ObjactSheet -& GT; SetCellValueExplicit (' A5 ',' 84747584787487584 ' 🎜>
  30. PHPExcel_Cell_DataType::TYPE_STRING); 🎜>
  31. //セルを結合
  32. $ob jActSheet ->mergeCells( 'B1:C22' );
  33. // セルを分割
  34. $objActSheet ->unmergeCells( 'B1:C22' );
  35. //* ****************** ***************
  36. //セルのスタイルを設定
  37. //
  38. // 幅を設定
  39. $objActSheet ->getColumnDimension( 'B' )->setAutoSize(true);
  40. $objActSheet ->getColumnDimension( 'A' )->setWidth(30); 🎜>
  41. //セルの内容の数値形式を設定します。
  42. //
  43. // PHPExcel_Writer_Excel5 を使用してコンテンツを生成する場合、
  44. // さまざまなカスタム書式設定メソッド、他のタイプはすべて使用可能通常はそうですが、setFormatCode
  45. // が FORMAT_NUMBER の場合、実際の効果はフォーマットが "0" に設定されないことです。必須
  46. //コード行:
  47. //if($ifmt === '0') $ifmt = 1; 🎜 >
  48. //
  49. // すべて元の内容に従って表示されます。     
  50. $objStyleA5
  51. ->getNumberFormat()
  52. ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);    
  53. //设置文字体
  54. $objFontA5 = $objStyleA5 ->getFont();    
  55. $objFontA5 ->setName( 'Courier New' );    
  56. $objFontA5 ->setSize(10);    
  57. $objFontA5 ->setBold(true);    
  58. $objFontA5 ->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);    
  59. $objFontA5 ->getColor()->setARGB( 'FF999999' );    
  60. //設置对齐方式
  61. $objAlignA5 = $objStyleA5 ->getAlignment();    
  62. $objAlignA5 ->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);    
  63. $objAlignA5 ->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);    
  64. //設置边框
  65. $objBorderA5 = $objStyleA5 ->getBorders();    
  66. $objBorderA5 ->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);    
  67. $objBorderA5 ->getTop()->getColor()->setARGB( 'FFFF0000' );  // 色
  68. $objBorderA5 ->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);    
  69. $objBorderA5 ->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);    
  70. $objBorderA5 ->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);    
  71. //設定充填颜色
  72. $objFillA5 = $objStyleA5 ->getFill();    
  73. $objFillA5 ->setFillType(PHPExcel_Style_Fill::FILL_SOLID);    
  74. $objFillA5 ->getStartColor()->setARGB( 'FFEEEEEE' );    
  75. //从指定の单元格复制样式情報。     
  76. $objActSheet ->duplicateStyle( $objStyleA5 , 'B1:C22' );    
  77. //***************************** *******
  78. //追加图片
  79. $objDrawing = new PHPExcel_Worksheet_Drawing();    
  80. $objDrawing ->setName( 'ZealImg' );    
  81. $objDrawing ->setDescription( 'Zeal によって挿入された画像' );    
  82. $objDrawing ->setPath( './zeali.net.logo.gif' );    
  83. $objDrawing ->setHeight(36);    
  84. $objDrawing ->setCoowned( 'C23' );    
  85. $objDrawing ->setOffsetX(10);    
  86. $objDrawing ->setRotation(15);    
  87. $objDrawing ->getShadow()->setVisible(true);    
  88. $objDrawing ->getShadow()->setDirection(36);    
  89. $objDrawing ->setWorksheet( $objActSheet );    
  90. //新しいワークシートを追加
  91. $objExcel ->createSheet();    
  92. $objExcel ->getSheet(1)->setTitle( '测试2' );    
  93. //保护单元格
  94. $objExcel ->getSheet(1)->getProtection()->setSheet(true);    
  95. $objExcel ->getSheet(1)->protectCells( 'A1:C22' , 'PHPExcel' );    
  96. //***************************** *******
  97. //出力内容
  98. //
  99. $outputFileName = "output.xls" ;    
  100. //到文件
  101. ////$objWriter->save($outputFileName);     
  102. //または
  103. //到浏览器
  104. ////header("Content-Type: application/force-download");     
  105. ////header("Content-Type: application/octet-stream");     
  106. ////header("Content-Type: application/download");     
  107. ////header("Content-Transfer-Encoding: binary");     
  108. ////header("有効期限: 月曜日, 26 7月 1997 05:00:00 GMT");     
  109. ////header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");     
  110. ////header("Pragma: no-cache");     
  111. ////$objWriter->save('php://output');     
  112. ?>    

下は PHPExcel 读取Excel 文件の例:

PHP 代

  1. $fileName = 'excel.xls' ;  
  2. $path = 'パス' ;  
  3. $filePath = $path 。 $ファイル名 ;  
  4. $PHPExcel = new PHPExcel();       
  5. $PHPReader = 新しい PHPExcel_Reader_Excel2007();                 
  6. if (! $PHPReader ->canRead( $filePath )){
  7. $PHPReader = new PHPExcel_Reader_Excel5();    
  8. if (! $PHPReader ->canRead( $filePath )){
  9. echo 'Excel なし' ;  
  10. 戻る ;  
  11. }
  12. }
  13. $PHPExcel = $PHPReader ->load( $filePath );  
  14. $currentSheet = $PHPExcel ->getSheet(0);  
  15. /**合計で列が何個あるかを取得する*/
  16. $allColumn = $currentSheet ->getHighestColumn();     
  17. /**総行数を取得する*/
  18. $allRow = array ( $currentSheet ->getHighestRow());    
  19. for ( $currentRow = 1; $currentRow <= $allRow ; $currentRow ++){
  20. for ( $currentColumn = 'A' ; $currentColumn <= $allColumn ; $currentColumn ++){
  21. $address = $currentColumn 。 $currentRow ;  
  22. echo $currentSheet ->getCell( $address )->getValue()。 "t" ;  
  23. }
  24. echo "n" ;  
  25. }
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。