-
-
include("./class/class.php") // クラスの基本ヘッダー ファイルが含まれます - include("./class/phpexcel/PHPExcel.php " ); // Excel の基本クラス定義を生成します (ファイル名の大文字と小文字に注意してください)
// Excel ファイルを直接出力する場合は、このファイルをインクルードする必要があります
- include(" ./class/phpexcel /PHPExcel/IOFactory.php");
// 出力コンテンツと形式を含む phpexcel オブジェクトを作成します
- $m_objPHPExcel = new PHPExcel(); p>
- < p>// テンプレートファイル、形式と内容を分離するために、出力ファイルの特定の内容はテンプレートファイルに実装されます
- // テンプレートファイルはオブジェクト $m_objPHPExcel
- include(". /include/excel.php");< ;/p>
//出力ファイルの種類、Excel または PDF
- $m_exportType = "excel";
$m_strOutputExcelFileName = date ('Y-m-j_H_i_s')." .xls" // 出力する EXCEL ファイル名
- $m_strOutputPdfFileName = date('Y-m-j_H_i_s').".pdf"; // 出力する PDF ファイル名
- < p>// PHPExcel_IOFactory、Excel 出力
- //require_once dirname(__FILE__).'/Classes/PHPExcel/IOFactory.php';
// EXCEL 形式で出力する必要がある場合
- if( $m_exportType=="excel"){
- $objWriter = PHPExcel_IOFactory::createWriter($m_objPHPExcel, 'Excel5');
// $m_strOutputExcelFileName をブラウザから直接出力します
- header("Pragma : public");
- header("Expires : 0");
- header("Cache-Control:must-revalidate、post-check=0、pre-check=0");
- header("Content-Type:application /force-download");
- header( "Content-Type: application/vnd.ms-excel;");
- header("Content-Type:application/octet-stream");
- header("Content-Type: application/download");
- header(" Content-Disposition:attachment;filename=".$m_strOutputExcelFileName);
- header("Content-Transfer-Encoding:binary");
- $objWriter->save("php:/ /output");
- } p>
//PDF形式で出力する必要がある場合
- if($m_exportType=="pdf"){
- $objWriter = PHPExcel_IOFactory::createWriter($m_objPHPExcel, 'PDF');
- $objWriter->setSheetIndex (0);
header("Pragma: public");
- header("Expires: 0");
- header("キャッシュ-Control:must-revalidate、post-check=0 、pre-check=0");
- header("Content-Type:application/force-download");
- header("Content-Type: application/pdf") ;
- header("Content-Type:application/octet -stream");
- header("Content-Type:application/download");
- header("Content-Disposition:attachment;filename=".$m_strOutputPdfFileName);
- header("Content-Transfer-Encoding:binary") ;
- $objWriter->save("php://output");
- }
- ?>
-
コードをコピー
2. テンプレートファイルの内容(一般的な操作を添付)
-
-
- global $m_objPHPExcel; // 外部ファイルによって定義
// 基本プロパティを設定します
- $m_objPHPExcel->getProperties() - >setCreator("Sun Star Data Center")
- ->setLastModifiedBy("Sun Star Data Center")
- ->setTitle("Microsoft Office Excel Document")
- ->setSubject("テスト データ レポート -- Fromサンスター データセンター")
- ->setDescription("サンスター データセンターが生成する LD テスト データ レポート")
- ->setKeywords("サンスター LD レポート")
- ->setCategory("テスト結果ファイル"); < ;/p>
//複数のワークブックを作成します
- $sheet1 = $m_objPHPExcel->createSheet();
- $sheet2 = $m_objPHPExcel->createSheet();
- < ;p> // インデックスを操作することで、対応するワークブックを操作できます
- //
- // $m_objPHPExcel->setActiveSheetIndex(0); p>
- のように、現在アクティブなワークブックとして操作するワークブックのインデックスを設定するだけです
-
//最初のワークブックをアクティブなワークブックとして設定します
- $m_objPHPExcel->setActiveSheetIndex(0);
//アクティブなワークブックの名前を設定します
- //中国語の場合、iconv 関数を使用してエンコーディングを変換する必要があります
- $m_objPHPExcel->getActiveSheet()->setTitle(iconv('gbk', 'utf-8', 'Test Workbook'));
-
//デフォルトのフォントとサイズを設定します
- $m_objPHPExcel->getDefaultStyle()->getFont()->setName(iconv('gbk', 'utf-8', '宋体')) ;
- $m_objPHPExcel->getDefaultStyle()->getFont()->setSize(10);
// 列の幅を設定します
- $m_objPHPExcel->getActiveSheet( )-> getColumnDimension('A')->setWidth(15);
// 行の高さを設定します
- $m_objPHPExcel->getActiveSheet()->getRowDimension( '6')-> ;setRowHeight(30);
// セルを結合
- $m_objPHPExcel->getActiveSheet()->mergeCells('A1:P1'); p>
- < p>// 太字、中央揃えのスタイルを定義します
- $styleArray1 = array(
- 'font' => array(
- 'bold' => true,
- 'color'=>array(
- ) 'argb' = > '00000000',
- ),
- ),
'alignment' => array(
- 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
- ) );< /p>
//セル A1 にスタイルを適用します
- $m_objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray1);
-
//セルのスタイルを設定(黒色フォント)
- $m_objPHPExcel->getActiveSheet()->getStyle('H5')->getFont()->getColor()->setARGB( PHPExcel_Style_Color ::COLOR_BLACK); // 黒
// セルの書式設定(背景)
- $m_objPHPExcel->getActiveSheet()->getStyle('H5')->getFill( ) ->getStartColor()->setARGB('00ff99cc'); // 背景を薄いピンクに設定します
// セルの書式(数値書式)を設定します
- $m_objPHPExcel-> ;getActiveSheet( )->getStyle('F1')->getNumberFormat()->setFormatCode('0.000');
// コンテンツを特定のセルに書き込みます
- $m_objPHPExcel-> getActiveSheet()->setCellValue('A1', 'Hello Baby');
// セルのスタイルを設定(中央揃え)
- $m_objPHPExcel->getActiveSheet( )->getStyle( 'H5')->getAlignment()->sethorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
// セルに画像を入れてデータ画像を追加 セル J1 に配置します
- $objDrawing = new PHPExcel_Worksheet_Drawing();
- $objDrawing->setName('ロゴ');
- $objDrawing->setDescription('ロゴ');
- $objDrawing->setPath(" ../logo.jpg" ); // 画像パスは相対パスのみです
- $objDrawing->setWidth(400) // 画像の幅
- $objDrawing->setHeight(123); 'J1');//セル
- $objDrawing->setWorksheet($m_objPHPExcel->getActiveSheet());
// A5 セルの内容を設定し、ハイパーリンクを追加します
- $m_objPHPExcel-> ;getActiveSheet()->setCellValue('A5', iconv('gbk', 'utf-8', 'Hyperlink jbxue.com'));
- $m_objPHPExcel-> ;getActiveSheet()->getCell('A5 ')->getHyperlink()->setUrl('http://bbs.it-home.org/');
- ?>
-
-
コードをコピー 3. サーバー側で静的ファイルを生成する
直接生成と比較した場合、これら 2 つの方法の主な違いは、テンプレート ファイルがまったく同じであることです。上記の例との違いに注意してください。
-
-
- // クラスの基本ヘッダー ファイルが含まれます
- include("./class/class.php");
/ / Excel の基本クラス定義を生成します (ファイル名の大文字と小文字に注意してください)
- include("./class/phpexcel/PHPExcel.php");
- // Excel2007 ファイルを生成する必要がある場合は、Excel5 形式で書かれたファイルが含まれます。 , 対応する Writer を含めることができます
- include("./class/phpexcel/PHPExcel/Writer/Excel5.php");
- // PDF 形式ファイルの書き込みが含まれます
- include("./class/phpexcel/PHPExcel/Writer/PDF. php") ;
// 出力コンテンツと形式を含む phpexcel オブジェクトを作成します
- $m_objPHPExcel = new PHPExcel();
// テンプレート形式と内容を分離するために、出力ファイルの特定の内容はテンプレート ファイルに実装されます
- // テンプレート ファイルはオブジェクトを操作します $m_objPHPExcel
- include("./include/excel.php");
- $m_exportType = "pdf";
$m_strOutputExcelFileName = date('Y-m-j_H_i_s')。 ".xls"; // 出力EXCELファイル名
- $m_strOutputPdfFileName = date('Y-m-j_H_i_s').".pdf"; // 出力PDFファイル名
// 出力ファイルの保存パス, このパスは書き込み可能でなければなりません
- $ m_strOutputPath = "./output/";
// EXCEL形式で出力する必要がある場合
- if($m_exportType=="excel"){
- $ objWriter = new PHPExcel_Writer_Excel5($m_objPHPExcel);
- $objWriter->save($m_strOutputPath.$m_strOutputExcelFileName);
- }
// PDF 形式で出力する必要がある場合
- if($m_exportType =="pdf"){
- $objWriter = new PHPExcel_Writer_PDF($m_objPHPExcel);
- $objWriter->save($m_strOutputPath.$m_strOutputPdfFileName)
- }
- ?>
-
コードをコピー
|