ホームページ  >  記事  >  バックエンド開発  >  PHPEXCEL_PHP チュートリアルの使い方と紹介

PHPEXCEL_PHP チュートリアルの使い方と紹介

WBOY
WBOYオリジナル
2016-07-13 17:06:041721ブラウズ

PHPEXCEL は Excel を生成するために使用される PHP プラグインで、Excel の生成、Excel データの変更など、Excel データを簡単に操作できます。

1.PHPEXCELの紹介

PHPEXCEL は、Excel や PDF などのドキュメントを解析して生成できる一連の API を提供します。

PHPEXCEL は強力ですが、使用するのが比較的面倒です。より複雑な形式を出力する必要がある場合は、これを選択することをお勧めします。公式Webサイトからソースコードをダウンロードできます。

2.PHPEXCELの一部の機能

現在のワークブックを設定し、ワークブックオブジェクトを返します:
$excelSheet = $excel->setActiveSheetIndex(0);

セルを結合して cell オブジェクトを返す次の例では、列 A の 1 行目と 2 行目のセルを結合します。

コードは次のとおりですコードをコピーphpexcelの使い方入門
$excelSheet->mergeCells('A1:A2');

セルの値を設定します。パラメーター: セル名、値:

$excelSheet->setCellValue('A1', '文字列コンテンツ');
$excelSheet->setCellValue('A2', 26); $excelSheet->setCellValue('A3', true) // ブール値
; $excelSheet->setCellValue('A4', '=SUM(A2:A2)') //数式

コードは次のとおりです「PHPExcel.php」をインクルードします;
コードをコピー

「PHPExcel/Writer/Excel2007.php」をインクルードします;

//または、.xls を出力するために 'PHPExcel/Writer/Excel5.php' をインクルードします

;

Excelを作成する

$objPHPExcel = new PHPExcel();

Excel を保存 — 2007 形式

$objWriter = 新しい PHPExcel_Writer_Excel2007($objPHPExcel);

//または $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);

$objWriter->save("xxx.xlsx");

ブラウザに直接出力

$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);

header("プラグマ: public");

header(”有効期限: 0”);

header(”Cache-Control:must-revalidate, post-check=0, pre-check=0”);

Header("Content-Type:application/force-download");

Header("Content-Type:application/vnd.ms-execl");

Header("Content-Type:application/octet-stream");

header("Content-Type:アプリケーション/ダウンロード");;

header(’Content-Disposition:attachment;filename="resume.xls"‘);

header("Content-Transfer-Encoding:binary");

$objWriter->save(’php://output’);

——————————————————————————————————————–

Excel の属性を設定します:

コードは次のとおりです コードをコピー

クリエイター

$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");

最終更新者

$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");

タイトル

$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX テスト ドキュメント");

タイトル

$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX テスト ドキュメント");

説明

$objPHPExcel->getProperties()->setDescription("Office 2007 XLSX のテスト ドキュメント。PHP クラスを使用して生成されました。");

キーワード

$objPHPExcel->getProperties()->setKeywords(”office 2007 openxml php”);

タイプ

$objPHPExcel->getProperties()->setCategory(”テスト結果ファイル”);

——————————————————————————————————————–

現在のシートを設定します

$objPHPExcel->setActiveSheetIndex(0);

シートの名前を設定します

$objPHPExcel->getActiveSheet()->setTitle(’Simple’);

セル値を設定する

$objPHPExcel->getActiveSheet()->setCellValue(’A1’, ‘String’);

$objPHPExcel->getActiveSheet()->setCellValue(’A2’, 12);

$objPHPExcel->getActiveSheet()->setCellValue(’A3’, true);

$objPHPExcel->getActiveSheet()->setCellValue('C5', '=SUM(C2:C4)');

$objPHPExcel->getActiveSheet()->setCellValue(’B8’, ‘=MIN(B2:C5)’);

セルを結合する

$objPHPExcel->getActiveSheet()->mergeCells(’A18:E22’);

セルを分離する

$objPHPExcel->getActiveSheet()->unmergeCells(’A28:B28’);


3. PHPEXCEL

の応用例


コード全体は次のとおりです (テーブル本体内の対応するデータを取得するために、テーブル ヘッダーが $orderCellData を使用して各販売者番号の注文を記録することに注意してください):

コードは次のとおりです コードをコピー

<

require_once '../../../libs/PHPExcel/Classes/PHPExcel.php';

require_once '../../../libs/PHPExcel/Classes/PHPExcel/Writer/Excel5.php';

include_once '../../../libs/PHPExcel/Classes/PHPExcel/IOFactory.php';

'../common/config.php' をインクルードします;

// ハンドラー オブジェクト インスタンスを作成します (このオブジェクトは 2003 と 2007 で同じです)

$objExcel = 新しい PHPExcel();

//プロパティを設定します(このコードは無関係です。コンテンツは必要なものに置き換えることができます)

$objExcel->getProperties()->setCreator("office 2003 Excel");

$objExcel->getProperties()->setLastModifiedBy("office 2003 Excel");

$objExcel->getProperties()->setTitle("Office 2003 XLS テスト ドキュメント");

$objExcel->getProperties()->setSubject("Office 2003 XLS テスト ドキュメント");

$objExcel->getProperties()->setDescription("Office 2003 XLS のテスト ドキュメント。PHP クラスを使用して生成されました。");

$objExcel->getProperties()->setKeywords("office 2003 openxml php");

$objExcel->getProperties()->setCategory("テスト結果ファイル");

//データ処理開始(インデックスは0から開始)

$objExcel->setActiveSheetIndex(0);

$conn = mssql_connect($config['mssql']['host'],$config['mssql']['user'],$config['mssql']['password']);

mssql_select_db($config['mssql']['dbname'],$conn);

$tm=$_REQUEST['tm'];

$sql = "exec HNow05_getTTSpace '','".$tm."','',1";

$sql=mb_convert_encoding($sql,'GBK','UTF-8');

$res=mssql_query($sql);

$i=0;

$k = array('駅コード','駅名','河川水系','報告時間','水位','水位');

$count = count($k);

$arrs = array('A','B','C','D','E','F');

//ヘッダーを追加します

for($i=0;$i

$objExcel->getActiveSheet()->setCellValue($arrs[$i]."1", "$k[$i]");

}

/*----------データベースからデータを読み取ります------*/

$i=0;

while($arr=mssql_fetch_array($res))

{

$stcd = $arr["STCD"];

$stnm = $arr["STNM"];

$rvnm = $arr["RVNM"];

$tm= $arr["TM"];

$tdz= $arr["TDZ"];

$tdptn= $arr["TDPTN"];

if($tdptn=='6'){

$tdptn='フラット';

}else if($tdptn=='5'){

$tdptn='上昇';

}else if($tdptn=='4'){

_

}

$u1=$i+2;

$stnm=iconv("GBK","utf-8",$stnm);

$rvnm=iconv("GBK","utf-8",$rvnm);

$tm=iconv("GBK","utf-8",$tm);

/*----------写入内容-------------*/

$objExcel->getActiveSheet()->setCellValue('a'.$u1, "$stcd");

$objExcel->getActiveSheet()->setCellValue('b'.$u1, "$stnm");

$objExcel->getActiveSheet()->setCellValue('c'.$u1, "$rvnm");

$objExcel->getActiveSheet()->setCellValue('d'.$u1, "$tm");

$objExcel->getActiveSheet()->setCellValue('e'.$u1, "$tdz");

$objExcel->getActiveSheet()->setCellValue('f'.$u1, "$tdptn");

$i++;

}

/*----------设置单元格边框和颜色-------------*/

$rows = mssql_num_rows($res);

for($i=0;$i<($rows+1);$i++){

for($j=0;$j<$count;$j++){

$a = $i+1;

$objExcel->getActiveSheet()->getStyle($arrs[$j].$a)->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

$objExcel->getActiveSheet()->getStyle($arrs[$j].$a)->getBorders()->getAllBorders()->getColor()->setARGB('FF00BBcc' );

//水平居中

$objExcel->getActiveSheet()->getStyle($arrs[$j].$a)->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

}

}

// 高置列の宽度

$objExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);

$objExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);

$objExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);

$objExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);

$objExcel->getActiveSheet()->getColumnDimension('E')->setWidth(10);

$objExcel->getActiveSheet()->getColumnDimension('F')->setWidth(10);

// 眉と脚を設定します。異なる奇数がない場合は、/ 単独の値を使用します。

$objExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&L&B個人レジ&R&Dに印刷');

$objExcel->getActiveSheet()->getHeaderFooter()->setOddFooter('&L&B' . $objExcel->getProperties()->getTitle() . '&RPage &P of &N');

// 設置页方向と规模

$objExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT);

$objExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);

// 重命名表

$objExcel->getActiveSheet()->setTitle('实時潮汐情况');

// アクティブ シート インデックスを最初のシートに設定すると、Excel はこれを最初のシートとして開きます

$objExcel->setActiveSheetIndex(0);

// 出力をクライアントの Web ブラウザーにリダイレクトします (Excel5)excel2003 格式に保存します

//Excelの名前を設定します

$excelName = '实時潮汐情况('.$tm.')';

//$excelName = 'Excel_'.date("YmdHis");

header('Content-Type: application/vnd.ms-excel');

header('Cache-Control: max-age=0');

header( 'Content-Disposition:attachment; filename='.iconv("utf-8", "GBK", $excelName).'.xls');

$objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5');

$objWriter->save('php://output');


終了します;


?>

www.bkjia.com本当http://www.bkjia.com/PHPjc/630735.html技術記事 PHPEXCEL は、Excel を生成するための PHP プラグインであり、Excel の生成、Excel データの変更など、Excel データに対する操作を簡単に行うことができます。 1. PHPEXCEL の概要 PHPEXCEL は...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。