ホームページ  >  記事  >  php教程  >  PHPExcelを使ったエクスポート機能の簡単な紹介

PHPExcelを使ったエクスポート機能の簡単な紹介

WBOY
WBOYオリジナル
2016-08-04 08:56:221367ブラウズ

以前、エクスポートの仕方が分からなかったときに、色々なデモや事例を探しましたが、それでも機能が動作しなかった一方で、私は愚かすぎるかもしれないと一方で感じました。初心者、私がそうする必要があります (ええと、ここにコードをコピーして、ここにファイルを置き、ここで変更するだけです。) この時点で、おそらくマスターは投稿時に無意識のうちにいくつかの小さな詳細を無視していました (そして、これはまさにファーストフードプログラマーのトレーニングは現在行われています)(もちろん私も含めて)この記事は私自身の初心者の理解に従って書いていますので、他の初心者がこれを見て緊急事態に対応できることを願っています。読んでいくうちに、初心者にはまだコードを蓄積する時間が必要であることが少しわかりました。
PHPExcelのエクスポートなので(ここではエクスポートについてのみ説明します)、当然このファイルが必要なので、それを持ってきてください(http://phpexcel.codeplex.com/)
ダウンロードしたらどこに置きますか?一般に、TP はサードパーティのクラス ライブラリ (通常、Smarty、Zend、およびその他のクラス ライブラリなどのサードパーティ システムまたは製品によって提供される、ThinkPHP フレームワークおよびアプリケーション プロジェクト クラス ライブラリを除く他のクラス ライブラリを指します) に配置されます。他のシステム...) 通常は ThinkPHP/Library/Vender の下に配置されます。
次に、次のコードをフロントエンドおよびバックエンド ファイルと同じレベルの Common の下にある function.php にコピーする必要がありますPHPExcelを使ったエクスポート機能の簡単な紹介/**<br> * EXCELにエクスポート<br> * @param タイプ $expTitle<br> * @param タイプ $expCellName<br> * @param タイプ $expTableData<br> ​*/<br> 関数exportExcel($expTitle, $expCellName, $expTableData) {<br> $xlsTitle = iconv('utf-8', 'gb2312', $expTitle); // ファイル名<br> $fileName = $expTitle .date('_YmdHis'); //または $xlsTitle ファイル名は状況に応じて設定できます<br> $cellNum = count($expCellName);<br> $dataNum = count($expTableData);<br> <br> ベンダー("PHPExcel");<br> <br> $objPHPExcel = 新しい PHPExcel();<br> $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', ' L'、'M'、'N'、'O'、'P'、'Q'、'R'、'S'、'T'、'U'、'V'、'W'、'X' 、'Y'、'Z'、'AA'、'AB'、'AC'、'AD'、'AE'、'AF'、'AG'、'AH'、'AI'、'AJ'、' AK'、'AL'、'AM'、'AN'、'AO'、'AP'、'AQ'、'AR'、'AS'、'AT'、'AU'、'AV'、'AW' 、'AX'、'AY'、'AZ');<br> // $objPHPExcel->getActiveSheet(0)->mergeCells('A1:' . $cellName[$cellNum - 1] . '1') // セルを結合します<br> for ($i = 0; $i $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . '1', $expCellName[$i][1]);<br> }<br> //その他のグリフ、UTF-8<br> for ($i = 0; $i for ($j = 0; $j $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j] . ($i + 2), $expTableData[$i][$expCellName[$j][0]]);<br> }<br> }<br> <br> Header('pragma:public');<br> Header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"');<br> Header("Content-Disposition:attachment;filename=$fileName.xls"); //添付ファイルは新しいウィンドウに印刷され、このウィンドウにインラインで印刷されます<br> $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');<br> $objWriter->save('php://output');<br> 終了します;<br> }vendor("PHPExcel");上記のコードで、ファイルがここに配置されていない場合は、忘れずに変更してください。
ここで付け加えておきますが、カスタム スタイルをエクスポートして追加する必要がある場合 (カラー マーク付きのテキストのエクスポートなど)、ここに追加する必要があります。次のようなコードをコメント化します (追加する必要はありません)。これを自分で書く必要がありますか? さあ、必要なものはすべてここにあります http://blog.csdn.net/diandian_520/article/details/7827038、変更する行と列に注意してください)
もちろん、これはパブリック エクスポート関数であるため、複数の代替テーブルをエクスポートする場合は、上記のコードを再度コピーし、名前を変更して呼び出す必要があります。
次は C/*<br> のコードです * テスト<br> */<br> パブリック関数 text(){<br> //必要なデータを取得します<br> $res=M('order')->select();<br> $export=I('export');//エクスポート命令をトリガーする値<br> if ($export==1){                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ​ array('ddh','注文番号'),<br> array('xdsj','注文時間'),<br> array('dgje','注文金額')、<br> array('yhje','割引額'),<br> );<br> $xlsData=array(); foreach ($res as $key=>$val){<br> array_push($xlsData, array(//ここでエクスポートする必要があるコンテンツ。キー名は上記のフィールドキー名と一致している必要があることに注意してください<br> ‘ddh’=>" ".$val[ordersn],<br> ‘xdsj’=>date(’Y-m-d H:i:s’,$val[createtime]),<br> ‘dgje’=>$val[手数料],<br> 「yhje」=>$val[割引価格]、<br> .                                                                                                    exportexcel($ xlsname、$ xlscell、$ xlsdata); //これは、関数に記載されている関数が呼び出される場所です。 <br> die();}OK、完了しました。今すぐ試してください。 ! !
(何かを見逃しているような気がします。誰かが問題を発見したり、より良い方法を持っている場合は、お気軽に追加して初心者に教えてください。ありがとう...)

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