ホームページ  >  記事  >  バックエンド開発  >  PHPExcel を使用してデータを Excel ファイルに xls 形式でエクスポートする_PHP チュートリアル

PHPExcel を使用してデータを Excel ファイルに xls 形式でエクスポートする_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:15:18912ブラウズ

PHPExcelを使用してデータをXLS形式でExcelファイルにエクスポートします

あるところでビジネスライセンス管理システムを開発する際、データをエクセルファイルにエクスポートする必要があるのですが、1年前に某グループのERPをやっていた時に一度インポートとエクスポートを利用したのですが、その時は忙しすぎてしまいました。ブログを書くのに何年も経ち、ほとんど忘れていたので、使用するときに情報をエクスポートしたり検索したりする必要がないように、今後の開発の参考としてこの使用法をブログに書きたいと思います。もう一度、そして他の同僚に参考にしてもらうためにも。著者: DragonDean、ブログアドレス: http://www.cnblogs.com/dragondean/
PHPExcelとは何ですか?
PHPExcel は、Office Excel ドキュメントを操作するために使用される PHP クラス ライブラリであり、Microsoft の OpenXML 標準と PHP 言語に基づいています。これを使用すると、Excel (BIFF) .xls、Excel 2007 (OfficeOpenXML) .xlsx、CSV、Libre/OpenOffice Calc .ods、Gnumeric、PDF、HTML など、さまざまな形式のスプレッドシートの読み取りと書き込みができます。
PHPExcelをダウンロード
phpexcel の公式 Web サイトのアドレスは http://phpexcel.codeplex.com/ で、そこから必要なファイルをダウンロードできます。バージョン1.8をダウンロードしました。ダウンロード後、Web サイトのルート ディレクトリに解凍します。
開発背景の説明
この開発では、ThinkPHP フレームワークを使用して、クエリ条件に基づいてすべてのコンテンツをエクスポートします。インポート機能もあるので、それについてはまた記事にします。詳しい手順については、コードセクションのコメントを参照してください。
エクスポート部分のコードは次のとおりです:
コードをコピー
//関連ファイルをインポートします
require_once $_SERVER['DOCUMENT_ROOT'].'/PHPExcel/Classes/PHPExcel.php';
//インスタンス化
$phpexcel = 新しい PHPExcel();
//比率タイトルを設定します
$phpexcel->getActiveSheet()->setTitle('宜荘技術プロンプト技術サポート');
//ヘッダーを設定します
$phpexcel->getActiveSheet() ->setCellValue('A1','食事証明書文字')
; -& Gt; SetcellValue ('B1', 'ユニット名')
to
->setCellValue( 'D1'、'都市')
; -& Gt; SetcellValue ('e1', '地域')
; -& Gt; SetcellValue ('F1', 'アドレス')
; -& Gt; セットセル値 ('g1', 'カテゴリ')
to
to ; -& Gt; SetcellValue ('j1', '開始日')
; -& Gt; SetcellValue ('K1', '期日')
to
to
to ; -& Gt; SetcellValue ('o1', '連絡先番号')
; -& Gt; SetcellValue ('P1', '使用領域')
to ; -& GT; SetcellValue ('R1', 'S 状況を変更')
to
to
//エクスポートする必要があるデータをデータベースから取得します
$list=$db->where($where)->select();
//最初の行はテーブルヘッダーであるため、foreach を使用して 2 行目からデータの書き込みを開始します
$i=2;
foreach($list as $val){
$phpexcel->getActiveSheet() ->setCellValue('A'.$i,'吉'.$val['czz_nian'].$val['czz_hao'])
; -& Gt; SetcellValue ('b'. $ I, $ value ['danwei'])
; -& Gt; SetcellValue ('c'. $ I, $ value ['faren'])
; -& Gt; SetcellValue ('d'. $ I, $ value ['dz_chengshi'])
; -& Gt; SetcellValue ('e'.$ I, $ valr ['dz_dique'])
; -& Gt; SetcellValue ('f'. $ I, $ value ['dizhi'])
; -& Gt; SetcellValue ('g'. $ I, $ value ['leibie'])
; -& Gt; SetcellValue ('h'. $ I, $ 値 ['beizhu'])
~ ️ ->setCellValue('J'.$i, $val['qs_nian'].'-'.$val['qs_yue'].'-'.$val['qs_ri'])
️ ->setCellValue('K'.$i, $val['zz_nian'].'-'.$val['zz_yue'].'-'.$val['zz_ri'])
; -& Gt; SetcellValue ('l'. $ I, $ value ['anquan'])
- > setcellvalue( 'm'。$ i、$ val ['zhizheng'])
️ ->setCellValue('N'.$i, $val['fz_nian'].'-'.$val['fz_yue'].'-'.$val['fz_ri'])
; -& Gt; SetcellValue ('o'. $ I, $ value ['dianhua'])
to ; -& Gt; SetcellValue ('q'. $ I, $ value ['renshu'])
~ ; -& Gt; SetcellValue ('s'. $ I, $ value ['chizheng'])
; -& Gt; $ I, $ value ['keshi'];
$i++;
}
$obj_Writer = PHPExcel_IOFactory::createWriter($phpexcel,'Excel5');
$filename ='Export'.date('Y-m-d').".xls";//ファイル名
//ヘッダーを設定します
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: アプリケーション/ダウンロード");
header('Content-Disposition:inline;filename="'.$filename.'"');
header("コンテンツ転送エンコーディング: バイナリ");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("キャッシュ制御: 再検証が必要、事後チェック = 0、事前チェック = 0");
header("プラグマ: キャッシュなし");
$obj_Writer->save('php://output');//出力
die();//植栽実行
コードをコピー
エクスポートされたファイルのプレビュー:
その他の関連する属性設定のリファレンス (オンライン情報より)
コードをコピー
//基本的なドキュメントのプロパティを設定します
$objProps = $phpexcel->getProperties();
$objProps->setCreator("張公区医療保険局");
$objProps->setLastModifiedBy("張公区医療保険局");
$objProps->setTitle("張公区医療保険局職員月次増減報告書");
$objProps->setSubject("張公区医療保険局職員月次増減報告");
$objProps->setDescription("張公区医療保険局職員月次増減報告書");
$objProps->setKeywords("張公区医療保険局職員月次増減報告");
$objProps->setCategory("変更レポート");
コードをコピー
PHPExcelでセルを結合/分離する方法
$objPHPExcel->getActiveSheet()->mergeCells('A18:E22');
$objPHPExcel->getActiveSheet()->unmergeCells('A18:E22');
PHPExcelで列幅/行高さを設定する方法
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);
$objPHPExcel->getActiveSheet()->getRowDimension(3)->setRowHeight(16);
PHPExcelでスタイルを設定する方法
コードをコピー
$objStyleA1 = $phpexcel->getActiveSheet()->getStyle('A1');
$objStyleA1->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平軸を設定します
$objStyleA1->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直方向の配置を設定します
$objFontA1 = $objStyleA1->getFont();
$objFontA1->setName('宋体');
$objFontA1->setSize(18); $objFontA1->setBold(true);
コードをコピー
PHPExcelで枠線を設定する方法
コードをコピー
$objActSheet->getStyle('A2')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );
$objActSheet->getStyle('A2')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );
$objActSheet->getStyle('A2')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );
$objActSheet->getStyle('A2')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN );
$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getLeft()->getColor()->setARGB('FF993300');//境界線を設定するカラー
コードをコピー
詳細については、Baidu を検索してください。ご質問がある場合は、修正してください。
http://www.bkjia.com/PHPjc/905597.html
www.bkjia.com
tru​​e
http://www.bkjia.com/PHPjc/905597.html
技術記事
PHPExcelを使ってデータをExcelファイルにエクスポートする とあるところで業務用ライセンス管理システムを開発する際、データをExcelファイルにエクスポートする必要があります。 ..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。