php Excel (転送)_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:31:46
オリジナル
901 人が閲覧しました

まず、phpexcel 公式 Web サイトにアクセスして、最新の phpexcel クラスをダウンロードします。次の週に、PHPExcel.php フォルダーと PHPExcel フォルダーが含まれるクラス フォルダーを解凍します。 、クラスをプロジェクトのディレクトリに解凍し、名前を phpexcel に変更します。始めましょう (コードはすべて含まれているサンプルから取得したものです)
プログラム部分 require_once './phpexcel/PHPExcel.php';
// まず新しいオブジェクトを作成します PHPExcelオブジェクト $objPHPExcel =newPHPExcel();
//これらの値は、xls ファイル->プロパティ->詳細で確認できます。xml テーブルにはこれらの値はありません$objPHPExcel —>setCreator( "マーテン balliauw ") ;-& Gt; Setlastmodifydby ( "マーテン balliauw " —>setTitle( ”オフィス 2007年 —>setSubject( ”オフィス 2007年 —>setDescription( "テスト PHP クラスを使用して生成された、Office 2007 XLSX 用のドキュメント。")//メモを設定します —>setKeywords( "オフィス 2007 openxml php") //タグを設定します 可能性があります 結果ファイル"); //位置 aaa *以下のコードの場所のアンカーを提供します //テーブルにデータを追加します $ objphpexcel-> setactivesheetindex(0) //テーブルのセルにデータを設定します //データ形式は文字列にすることができます ; -≫ 12) ️ with with with ->setCellValue( 'D2', 12) with with with //ブール型 ; -& Gt; SetcellValue ( 'd4', '= 合計 (C1: D2)' ); //現在アクティブなテーブルを取得します以下のチュートリアルでは $objActSheet が頻繁に使用されることに注意してください $objActSheet = $objPHPExcel->getActiveSheet(); // 場所 bbb *以下のコードの場所のアンカーを提供します //現在アクティブなテーブルに名前を設定します $objActSheet->setTitle('Simple2222'); コードはまだ終わっていません。以下のコードをコピーして、何をするかを決定できます
私たちがやろうとしていることは 1、ファイルを直接生成します $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('myexchel.xlsx');
2. ファイルのダウンロードを促す エクセル2003.xls // 2003Excel形式のxlsファイルを生成します header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition:attachment;filename="01simple.xls"'); header('キャッシュ制御: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); 終了;
エクセル 2007 .xlsx // 2007 Excel 形式で xlsx ファイルを生成します header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: 添付ファイル;ファイル名="01simple.xlsx"'); header('キャッシュ制御: max-age=0');
$objWriter= PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007'); $objWriter->save('php://output'); 終了;
pdfファイル //PDF ファイルをダウンロード header('Content-Type: アプリケーション/pdf'); header('Content-Disposition: 添付ファイル;ファイル名="01simple.pdf"'); header('キャッシュ制御: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); $objWriter->save('php://output'); 終了; // PDF ファイルを生成します $objライター = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); $objWriter->save('a.pdf');

CSVファイル $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV')->setDelimiter( ' 、) //区切り文字を設定します ->setEnclosure('"' ) //エンクロージャを設定します ->setLineEnding("rn" )//行区切り文字を設定します ->setSheetIndex(0) //アクティビティシートを設定します ->save(str_replace('.php','.csv', __ファイル__));
HTMLファイル $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); $objPHPEcel オブジェクトを HTML 形式に変換します $objWriter->setSheetIndex(0); //アクティビティシートを設定します //$objWriter->setImagesRoot('http://www.example.com'); $objWriter->save(str_replace(('.php', '.htm', __FILE__)); //ファイルを保存します



テーブルのスタイルとデータ形式を設定します
デフォルトのフォントとテキストサイズを設定しますアンカー: aaa $objPHPExcel->getDefaultStyle()->getFont()->setName( 'Arial'); $objPHPExcel->getDefaultStyle()->getFont()->setSize(20); 日付形式アンカー: bbb //2番目の値変数を取得します $dateTimeNow = time(); //3 つのテーブルは、現在の実際の日付形式、時刻形式、日付と時刻の形式に設定されます //まずセルの値をPHPExcel_Shared_Date::PHPToExcelメソッドで変換したExcel形式の値に設定し、次に数値スタイルを使用してセルのスタイルを取得し、表示形式を設定します $objActSheet->setCellValue( 'C9', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow )); $objActSheet->getStyle('C9')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat:) FORMAT_DATE_YYYYMMDD2 ); $objActSheet->setCellValue( 'C10', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow )); $objActSheet->getStyle('C10')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat:: FORMAT_DATE_TIME4 ); $objActSheet->setCellValue( 'C10', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow )); $objActSheet->getStyle('C10')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat:: FORMAT_DATE_TIME4 ); //E4 から E13 までの数値形式を EUR に設定します $objPHPExcel->getActiveSheet()->getStyle( 'E4:E13')->getNumberFormat()->setFormatCode(PHPExcel_Style_ NumberFormat:: FORMAT_CURRENCY_EUR_SIMPLE);
列幅を設定します アンカー: bbb $objActSheet->getColumnDimension( 'B')->setAutoSize(tru​​e) ; //からのコンテンツ適応する $objActSheet->getColumnDimension( 'A')->setWidth(30); //幅30
ファイル印刷用のヘッダーとフッターを設定します アンカー: bbb //印刷時にヘッダーとフッターを設定します(設定後の印刷プレビューで効果を確認できます) 文字列内の&*は変数のようです $objActSheet->getHeaderFooter()->setOddHeader( '&L&G&C&Hお願いします この文書は機密として扱ってください!'); $objActSheet->getHeaderFooter()->setOddFooter( '&L&B' . $objPHPExcel->getProperties()->getTitle() . '&RPページ &N' ); ページテキストの方向とページサイズを設定します アンカー: bbb $objPHPE ); $ $ objphpexcel-> getActiveSheet() - > getPagesEtup() - > setPapersize(phpexcel_worksheet_pagesetup:: //A4用紙サイズ ヘッダーに写真を追加 Office では有効、WPS では無効 アンカー: bbb $objDrawing =new
PHPExcel_Worksheet_HeaderFooterDrawing(); $objDrawing->setName('PHPExcelロゴ'); $objDrawing->setPath('./images/phpexcel_logo.gif'); $objDrawing->setHeight(36); $objPHPExcel->getActiveSheet()->getHeaderFooter()->addImage($objDrawing, PHPExcel_Worksheet_HeaderFooter::IMAGE_HEADER_LEFT ); セルのコメントを設定する アンカー: bbb //セルにコメントを追加します $objPHPExcel->getActiveSheet()->getComment( 'E13')->setAuthor(
'PHPExcel' ) ); //作成者を設定します $objCommentRichText = $objPHPExcel->getActiveSheet()->getComment('E13')->getText()->createTextRun( ' PHPExcel:'); //コメントを追加 $objCommentRichText->getFont()->setBold( tru​​e); //既存のコメントを太字にします $objPHPExcel->getActiveSheet()->getComment('E13')->getText()->createTextRun("rn" ); //コメントを追加 $objPHPExcel->getActiveSheet()->getComment( 'E13')->getText()->createTextRun('Total VAT を含む現在の請求書の金額。'); $objPHPExcel->getActiveSheet()->getComment( 'E13')->setWidth('100pt' ); //注釈表示の幅と高さを設定します 、office では有効ですが、wps では無効です $objPHPExcel->getActiveSheet()->getComment( 'E13')->setHeight('100pt' ); $objPHPExcel->getActiveSheet()->getComment( 'E13')->setMarginLeft('150pt') ); $objPHPExcel->getActiveSheet()->getComment( 'E13')->getFillColor()->setRGB('ええええ ); //背景色を設定します 、office では有効ですが、wps では無効です テキストブロックを追加 レンダリングを見る オフィスで有効 WPS では無効です アンカー: bbb //おおよその翻訳 リッチ テキスト ボックスを作成します Office が有効です WPS が無効です $objRichText =newPHPExcel_RichText(); $objRichText->createText('この請求書は '); //テキストを追加し、このテキストの太字斜体とテキストの色を設定します $objPayable = $objRichText->createTextRun( '支払い可能 月末から 30 日以内'); $objPayable->getFont()->setBold( tru​​e); $objPayable->getFont()->setItalic( tru​​e); $objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) ); $objRichText->createText('、特に指定がない限り 請求書。'); //セルA18にテキストを書き込みます $objPHPExcel->getActiveSheet()->getCell('A18')->setValue($objRichText); php Excel (転送)_PHP チュートリアル分割セルを結合
アンカー: bbb $objPHPExcel->getActiveSheet()->mergeCells( 'A28:B28'); A28:B28マージ $objPHPExcel->getActiveSheet()->unmergeCells( 'A28:B28'); A28:B28がまた分裂 携帯パスワード保護 アンカー: bbb
// セルのパスワード保護により変更は許可されません $objPHPExcel->getActiveSheet()->getProtection()->setSheet(tru​​e); テーブル保護を有効にするには、true に設定する必要があります $objPHPExcel->getActiveSheet()->protectCells( 'A3:E13', 'PHPExcel' ); // A3からE13までを保護します。暗号化パスワードはPHPExcelです。 $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getProtection()->setLocked(PHPExcel_Style_Protection :: PROTECTION_UNPROTECTED);//保護を解除します セルのフォントを設定するアンカー: bbb //B1の文字フォントをCandaraに設定し、サイズ20の太字下線に背景色を付けます $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setName('Candara') ); $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setSize(20); $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setBold(tru​​e ); $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setUnderline(PHPExcel_Style_Font:: UNDERLINE_SINGLE); $objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->getColor()->setARGB(PHPExcel_Style _Color : :COLOR_WHITE);
テキストの配置 アンカー: bbb $objPHPExcel->getActiveSheet()->getStyle( 'D11')->getAlignment()->set水平(PHPExcel_Style_Alignment:: HORIZONTAL_RIGHT); //水平方向に整列します $objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->set水平( Excel_Style_Alignment:: HORIZONTAL_JUSTIFY);//両端を水平方向に揃えます $objPHPExcel->getActiveSheet()->getStyle( 'A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment :: VERTICAL_CENTER); //垂直方向の中央揃え セルの境界線を設定するアンカー: bbb $styleThinBlackBorderOutline = array( または 'ボーダー' = & gt; PHPExcel_Style_Border::BORDER_THIN, //枠線のスタイルを設定します PHPExcel_Style_Border::BORDER_THICK、別のスタイル 'argb' => ' FF000000')、 //境界線の色を設定します )、 )、 ); $objPHPExcel->getActiveSheet()->getStyle( 'A4:E10')->applyFromArray($styleThinBlackBorderOutline); 背景の塗りつぶしの色 アンカー: bbb //塗りつぶしスタイルと背景色を設定します $objPHPExcel->getActiveSheet()->getStyle( 'A1:E1')->getFill()->setFillType(PHPExcel_Style_Fill:: FILL_SOLID ); $objPHPExcel->getActiveSheet()->getStyle( 'A1:E1')->getFill()->getStartColor()->setARGB('FF808 080 '); 综合设置样例 $objPHPExcel->getActiveSheet()->getStyle( 'A3:E3')->applyFromArray(              array(                    'font'    => array (                          'bold'      => true                    ),                    'alignment' => array (                          'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT ,                   ),                    'borders' => array (                          'top'     => array (                                'style' => PHPExcel_Style_Border::BORDER_THIN                         )                   ),                    'fill' => array (                          'type'       => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR ,                          'rotation'   => 90,                          'startcolor' => array( ( ) ) ); セルのコンテンツへの URL ハイパーリンクを設定します アンカー: bbb $objActSheet->getCell('E26')->getHyperlink()->setUrl('http://www.エクセル。 net'); //ハイパーリンク URL アドレス php Excel (転送)_PHP チュートリアル$objActSheet->getCell('E26'
)->getHyperlink()->setTooltip(
'Navigate ウェブサイトへ'
); //マウスを上に移動してプロンプトメッセージに接続します テーブルに写真を追加します アンカー: bbb $objDrawing = new PHPExcel_Worksheet_Drawing(); $objDrawing->setName('有料'); $objDrawing->setDescription('有料');
$objDrawing->setPath('./images/paid.png'); //画像インポート位置 $objDrawing->setCooperatives('B15'); //画像の位置を追加 $objDrawing->setOffsetX(210); $objDrawing->setRotation(25); $objDrawing->setHeight(36); $objDrawing->getShadow()->setVisible(tru​​e); $objDrawing->getShadow()->setDirection(45); $objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); //gd ライブラリによって生成された画像を追加することもできます。詳細については、組み込みの例 25 を参照してください 新しいワークシートを作成し、ワークシートのラベルの色を設定します アンカー: bbb $objExcel->createSheet(); $objPHPExcel->setActiveSheetIndex(1); // 2 番目のテーブルをアクティブなテーブルとして設定し、操作ハンドルを提供します $objExcel->getSheet(1)->setTitle( 'テスト 2'); //設定用に 2 番目のテーブルを直接取得し、ワークシートの名前を test 2 に変更します $objPHPExcel->getActiveSheet()->getTabColor()->setARGB( 'FF0094FF'); //ラベルの色を設定します
行と列を追加または削除します アンカー: bbb $objPHPExcel->getActiveSheet()->insertNewRowBefore(6, 10); // 6 行目の前に 10 行追加します $objPHPExcel->getActiveSheet()->removeRow(6, 10); $objPHPExcel->getActiveSheet()->insertNewColumnBefore( 'E', 5); //列 E の前から 5 つのカテゴリを追加します $objPHPExcel->getActiveSheet()->removeColumn( 'E', 5); // E 列から 5 列を削除します 列を非表示にして表示します
アンカー: bbb $objPHPExcel->getActiveSheet()->getColumnDimension( 'C')->setVisible(false ) ); //非表示 $objPHPExcel->getActiveSheet()->getColumnDimension( 'D')->setVisible(tru​​e) ; アクティブなテーブルのラベル名を変更します アンカー: bbb
$objPHPExcel->getActiveSheet()->setTitle( '請求書'); ワークシートのセキュリティを設定する
$objPHPExcel->getActiveSheet()->getProtection()->setPassword(
'PHPExcel'); $objPHPExcel->getActiveSheet()->getProtection()->setSheet(tru​​e); // 次のいずれかを有効にするには、これを有効にする必要があります! $objPHPExcel->getActiveSheet()->getProtection()->setSort( tru​​e); $objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(tru​​e); $objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(tru​​e); ドキュメントのセキュリティを設定する アンカー: bbb $objPHPExcel->getSecurity()->setLockWindows(tru​​e); $objPHPExcel->getSecurity()->setLockStructure( tru​​e); $objPHPExcel->getSecurity()->setWorkbookPassword( "PHPExcel"); スタイルコピー アンカー: bbb
//B2のスタイルをB3、B7にコピーします $objPHPExcel->getActiveSheet()->duplicateConditionalStyle() H $ Objphpexcel-& GT; getActiveSheet ()-& gt; getstyle ('b2')、; 条件付き書式を追加します アンカー: bbb echodate(
'H:i:s') ," 条件付き書式を追加します", PHP_EOL; $objConditional1 = new PHPExcel_Style_Conditional (); $objConditional1->setConditionType(PHPExcel_Style_Conditional ::CONDITION_CELLIS); $ $ objconditional1-> setoperatortype(phpexcel_style_conditional:: $objConditional1->addCondition('200'); $objConditional1->addCondition('400'); ページングを設定する (主に印刷用) アンカー: bbb //特定のセルをフッターとして設定します $objPHPExcel->getActiveSheet()->setBreak( 'A' . $i, PHPExcel_Worksheet::BREAK_ROW
);
テーブルを配列で埋める アンカー: bbb //配列の内容をA2から埋めていきます $dataArray =array(array( ) 「2010」 」Q1 「」ユナイテッド 州"、790)、 「ユナイテッド」 州"、730)、 ); $objPHPExcel->getActiveSheet()->fromArray($dataArray,NULL, 「A2」 ); 自動フィルタリングを設定する アンカー: bbb
$objPHPExcel->getActiveSheet()->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension());
//$objPHPExcel->getActiveSheet()->calculateWorksheetDimension()....A1 行の内容をすべて取得します すべての数式を印刷してください $objCalc = PHPExcel
_Calculation::
getInstance(); print_r($objCalc->listFunctionNames()) セル値の範囲を設定します アンカー: bbb $objValidation = $objPHPExcel->getActiveSheet()->getCell('B3' )->getDataValidation(); $objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_WHOLE); $objValidation->setErrorStyle( PHPExcel_Cell_DataValidation:: STYLE_STOP); $objValidation->setAllowBlank(tru​​e); $objValidation->setShowInputMessage(tru​​e); $objValidation->setShowErrorMessage(tru​​e); $objValidation->setErrorTitle('Input エラー'); //エラータイトル //$objValidation->setShowDropDown(true); $objValidation->setError('のみ 10 から 20 までの数字を使用できます!'); $objValidation->setPromptTitle('許可 input'); //プロンプトのタイトルを設定します $objValidation->setPrompt('のみ 10 から 20 までの数字を使用できます。'); //プロンプトコンテンツ $objValidation->setFormula1(10); //最大値を設定します $objValidation->setFormula2(120); //最小値を設定します //または次のように設定します $objValidation->setFormula2(1,5,6,7); 設定値は 1,5,6,7 のいずれかです その他 $objPHPExcel->getActiveSheet()->getStyle( 'B5')->getAlignment()->setShrinkToFit(
)
本当
); //長さが表示できない場合 自動的に行を折り返すかどうか $objPHPExcel->getActiveSheet()->getStyle('B5')->getAlignment()->setShrinkToFit(tru​​e) );//内容が表示できるように表示フォントサイズを自動変換します $objPHPExcel->getActiveSheet()->getCell(B14)->getValue(); $objPHPExcel->getActiveSheet()->getCell(B14)->getPracticalValue();//計算された値を取得します ファイルのインポートまたは読み取り //PHPExcel_IOFactory::load メソッドを通じてファイルをロードします。load は、対応する処理クラスをインポートするファイルのサフィックス名を自動的に決定します。読み取り形式には、xlsx/xls/xlsm/ods/slk/csv が含まれます。 /xml/gnumeric require_once '../Classes/PHPExcel/IOFactory.php'; $objPHPExcel = PHPExcel_IOFactory::load( //ロードされたファイルのデフォルトのテーブル(通常は最初のテーブル)は、toArray メソッドを通じて多次元配列を返します $dataArray = $objPHPExcel->getActiveSheet()->toArray(); //読み取り後にxlsxファイルに直接書き込みます $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); //$obj PHPExcel は上記のリソースです $objWriter->save(str_replace(('.php','.xlsx') 、 __ファイル__));
XMLファイルを読む $objReader = PHPExcel_IOFactory:: createReader('Excel2003XML' ); $objPHPExcel = $objReader->load( "Excel2003XMLTest.xml" ); ods ファイルを読む $objReader = PHPExcel_IOFactory:: createReader('OOCalc'); $objPHPExcel = ->load("OOCalcTest.ods" ); 数値ファイルを読み取る $objReader = PHPExcel_IOFactory:: createReader('Gnumeric'); $objPHPExcel = $objReader->load( "GnumericTest.gnumeric"); slkファイルを読む $objPHPExcel = PHPExcel_IOFactory:: load("SylkTest.slk");

データをループスルーする $objReader = PHPExcel_IOFactory::createReader('Excel2007'); // 20を作成します07の読書対象 $objPHPExcel = $objReader->load("05featuredemo.xlsx"); //xlsxファイルを読み込みます foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { //ワークシートを走査します ワークシート - ' 、$worksheet->getTitle() 、PHP_EOL; 。 { //行を走査 行番号 - ' 、$row->getRowIndex() 、PHP_EOL; T $ cellTerator = $ row-& gt; // すべての列を取得します ; $cellIterator->setIterateOnlyExistingCells( false); // 設定されていない場合でも、すべてのセルをループします { //列を横断する { //列が空でない場合は、その座標と計算値を取得します ️ セル - ' , $cell->getCooperative() , ' - ' , $cell->getManycalValue() , PHP_EOL; } } 配列をテーブルに挿入します //挿入されたデータ 3 行のデータ

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート