ホームページ >バックエンド開発 >PHPチュートリアル >phpexcel 迅速開発ガイド (良い)

phpexcel 迅速開発ガイド (良い)

WBOY
WBOYオリジナル
2016-07-25 09:04:201015ブラウズ
  1. include("./class/class.php") // クラスの基本ヘッダー ファイルが含まれます

  2. include("./class/phpexcel/PHPExcel.php " ); // Excel の基本クラス定義を生成します (ファイル名の大文字と小文字に注意してください)

  3. // Excel ファイルを直接出力する場合は、このファイルをインクルードする必要があります

  4. include(" ./class/phpexcel /PHPExcel/IOFactory.php");

  5. // 出力コンテンツと形式を含む phpexcel オブジェクトを作成します

  6. $m_objPHPExcel = new PHPExcel();
  7. < p>// テンプレートファイル、形式と内容を分離するために、出力ファイルの特定の内容はテンプレートファイルに実装されます
  8. // テンプレートファイルはオブジェクト $m_objPHPExcel
  9. include(". /include/excel.php");< ;/p>
  10. //出力ファイルの種類、Excel または PDF

  11. $m_exportType = "excel";

  12. $m_strOutputExcelFileName = date ('Y-m-j_H_i_s')." .xls" // 出力する EXCEL ファイル名

  13. $m_strOutputPdfFileName = date('Y-m-j_H_i_s').".pdf"; // 出力する PDF ファイル名

  14. < p>// PHPExcel_IOFactory、Excel 出力
  15. //require_once dirname(__FILE__).'/Classes/PHPExcel/IOFactory.php';

  16. // EXCEL 形式で出力する必要がある場合

  17. if( $m_exportType=="excel"){
  18. $objWriter = PHPExcel_IOFactory::createWriter($m_objPHPExcel, 'Excel5');

  19. // $m_strOutputExcelFileName をブラウザから直接出力します

  20. header("Pragma : public");
  21. header("Expires : 0");
  22. header("Cache-Control:must-revalidate、post-check=0、pre-check=0");
  23. header("Content-Type:application /force-download");
  24. header( "Content-Type: application/vnd.ms-excel;");
  25. header("Content-Type:application/octet-stream");
  26. header("Content-Type: application/download");
  27. header(" Content-Disposition:attachment;filename=".$m_strOutputExcelFileName);
  28. header("Content-Transfer-Encoding:binary");
  29. $objWriter->save("php:/ /output");
  30. }
  31. //PDF形式で出力する必要がある場合

  32. if($m_exportType=="pdf"){
  33. $objWriter = PHPExcel_IOFactory::createWriter($m_objPHPExcel, 'PDF');
  34. $objWriter->setSheetIndex (0);

  35. header("Pragma: public");

  36. header("Expires: 0");
  37. header("キャッシュ-Control:must-revalidate、post-check=0 、pre-check=0");
  38. header("Content-Type:application/force-download");
  39. header("Content-Type: application/pdf") ;
  40. header("Content-Type:application/octet -stream");
  41. header("Content-Type:application/download");
  42. header("Content-Disposition:attachment;filename=".$m_strOutputPdfFileName);
  43. header("Content-Transfer-Encoding:binary") ;
  44. $objWriter->save("php://output");
  45. }
  46. ?>

コードをコピー

2. テンプレートファイルの内容(一般的な操作を添付)

  1. global $m_objPHPExcel; // 外部ファイルによって定義

  2. // 基本プロパティを設定します

  3. $m_objPHPExcel->getProperties() - >setCreator("Sun Star Data Center")
  4. ->setLastModifiedBy("Sun Star Data Center")
  5. ->setTitle("Microsoft Office Excel Document")
  6. ->setSubject("テスト データ レポート -- Fromサンスター データセンター")
  7. ->setDescription("サンスター データセンターが生成する LD テスト データ レポート")
  8. ->setKeywords("サンスター LD レポート")
  9. ->setCategory("テスト結果ファイル"); < ;/p>
  10. //複数のワークブックを作成します

  11. $sheet1 = $m_objPHPExcel->createSheet();
  12. $sheet2 = $m_objPHPExcel->createSheet();

  13. < ;p> // インデックスを操作することで、対応するワークブックを操作できます
  14. //
  15. // $m_objPHPExcel->setActiveSheetIndex(0);
  16. のように、現在アクティブなワークブックとして操作するワークブックのインデックスを設定するだけです
  17. //最初のワークブックをアクティブなワークブックとして設定します

  18. $m_objPHPExcel->setActiveSheetIndex(0);

  19. //アクティブなワークブックの名前を設定します

  20. //中国語の場合、iconv 関数を使用してエンコーディングを変換する必要があります
  21. $m_objPHPExcel->getActiveSheet()->setTitle(iconv('gbk', 'utf-8', 'Test Workbook'));

  22. //デフォルトのフォントとサイズを設定します

  23. $m_objPHPExcel->getDefaultStyle()->getFont()->setName(iconv('gbk', 'utf-8', '宋体')) ;
  24. $m_objPHPExcel->getDefaultStyle()->getFont()->setSize(10);

  25. // 列の幅を設定します

  26. $m_objPHPExcel->getActiveSheet( )-> getColumnDimension('A')->setWidth(15);

  27. // 行の高さを設定します

  28. $m_objPHPExcel->getActiveSheet()->getRowDimension( '6')-> ;setRowHeight(30);

  29. // セルを結合

  30. $m_objPHPExcel->getActiveSheet()->mergeCells('A1:P1');
  31. < p>// 太字、中央揃えのスタイルを定義します
  32. $styleArray1 = array(
  33. 'font' => array(
  34. 'bold' => true,
  35. 'color'=>array(
  36. ) 'argb' = > '00000000',
  37. ),
  38. ),

  39. 'alignment' => array(

  40. 'horizo​​ntal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
  41. ) );< /p>
  42. //セル A1 にスタイルを適用します

  43. $m_objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray1);
  44. //セルのスタイルを設定(黒色フォント)

  45. $m_objPHPExcel->getActiveSheet()->getStyle('H5')->getFont()->getColor()->setARGB( PHPExcel_Style_Color ::COLOR_BLACK); // 黒

  46. // セルの書式設定(背景)

  47. $m_objPHPExcel->getActiveSheet()->getStyle('H5')->getFill( ) ->getStartColor()->setARGB('00ff99cc'); // 背景を薄いピンクに設定します

  48. // セルの書式(数値書式)を設定します

  49. $m_objPHPExcel-> ;getActiveSheet( )->getStyle('F1')->getNumberFormat()->setFormatCode('0.000');

  50. // コンテンツを特定のセルに書き込みます

  51. $m_objPHPExcel-> getActiveSheet()->setCellValue('A1', 'Hello Baby');

  52. // セルのスタイルを設定(中央揃え)

  53. $m_objPHPExcel->getActiveSheet( )->getStyle( 'H5')->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

  54. // セルに画像を入れてデータ画像を追加 セル J1 に配置します

  55. $objDrawing = new PHPExcel_Worksheet_Drawing();
  56. $objDrawing->setName('ロゴ');
  57. $objDrawing->setDescription('ロゴ');
  58. $objDrawing->setPath(" ../logo.jpg" ); // 画像パスは相対パスのみです
  59. $objDrawing->setWidth(400) // 画像の幅
  60. $objDrawing->setHeight(123); 'J1');//セル
  61. $objDrawing->setWorksheet($m_objPHPExcel->getActiveSheet());

  62. // A5 セルの内容を設定し、ハイパーリンクを追加します

  63. $m_objPHPExcel-> ;getActiveSheet()->setCellValue('A5', iconv('gbk', 'utf-8', 'Hyperlink jbxue.com'));
  64. $m_objPHPExcel-> ;getActiveSheet()->getCell('A5 ')->getHyperlink()->setUrl('http://bbs.it-home.org/');
  65. ?>

コードをコピー

3. サーバー側で静的ファイルを生成する 直接生成と比較した場合、これら 2 つの方法の主な違いは、テンプレート ファイルがまったく同じであることです。上記の例との違いに注意してください。

  1. // クラスの基本ヘッダー ファイルが含まれます
  2. include("./class/class.php");

  3. / / Excel の基本クラス定義を生成します (ファイル名の大文字と小文字に注意してください)

  4. include("./class/phpexcel/PHPExcel.php");
  5. // Excel2007 ファイルを生成する必要がある場合は、Excel5 形式で書かれたファイルが含まれます。 , 対応する Writer を含めることができます
  6. include("./class/phpexcel/PHPExcel/Writer/Excel5.php");
  7. // PDF 形式ファイルの書き込みが含まれます
  8. include("./class/phpexcel/PHPExcel/Writer/PDF. php") ;

  9. // 出力コンテンツと形式を含む phpexcel オブジェクトを作成します

  10. $m_objPHPExcel = new PHPExcel();

  11. // テンプレート形式と内容を分離するために、出力ファイルの特定の内容はテンプレート ファイルに実装されます

  12. // テンプレート ファイルはオブジェクトを操作します $m_objPHPExcel
  13. include("./include/excel.php");

  14. $m_exportType = "pdf";

  15. $m_strOutputExcelFileName = date('Y-m-j_H_i_s')。 ".xls"; // 出力EXCELファイル名

  16. $m_strOutputPdfFileName = date('Y-m-j_H_i_s').".pdf"; // 出力PDFファイル名

  17. // 出力ファイルの保存パス, このパスは書き込み可能でなければなりません

  18. $ m_strOutputPath = "./output/";

  19. // EXCEL形式で出力する必要がある場合

  20. if($m_exportType=="excel"){
  21. $ objWriter = new PHPExcel_Writer_Excel5($m_objPHPExcel);
  22. $objWriter->save($m_strOutputPath.$m_strOutputExcelFileName);
  23. }

  24. // PDF 形式で出力する必要がある場合

  25. if($m_exportType =="pdf"){
  26. $objWriter = new PHPExcel_Writer_PDF($m_objPHPExcel);
  27. $objWriter->save($m_strOutputPath.$m_strOutputPdfFileName)
  28. }
  29. ?>

コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。