ホームページ  >  記事  >  バックエンド開発  >  phpword を使用して Word ドキュメントを生成する php の例

phpword を使用して Word ドキュメントを生成する php の例

WBOY
WBOYオリジナル
2016-07-25 09:04:001823ブラウズ
  1. require_once '../libs/PHPWord/PHPWord.php';

  2. require_once '../libs/PHPWord/PHPWord/IOFactory.php';
  3. require_once '。 ./../config.php';
  4. // require_once '../common/conn.php';

  5. // 新しい Word ドキュメント

  6. $PHPWord = new PHPWord();< ;/p>
  7. /**********テキスト形式 word text.php************/

  8. // 新しいポートレートセクション

  9. //カンマ区切り文字列

  10. $arr = $_REQUEST['arr']; $a =explode(',',$arr);
  11. //echo $arr;
  12. date_default_timezone_set("Asia/Shanghai");//タイムゾーンを設定します
  13. $tm=date('Y-m-d H:i:s' );
  14. //exit($tm);
  15. /**********ここ数日の雨量*********/
  16. if(in_array('1', $a, TRUE)){
  17. $section = $PHPWord->createSection();
  18. $PHPWord->addFontStyle('rStyle', array('bold'=>false, 'italic'=>false, 'size'=>16));
  19. $PHPWord->addParagraphStyle('pStyle' , array('align'=>'center', 'spaceAfter'=>100));
  20. $c = "最初の 3 日間の降雨量レポート";
  21. $section->addText($c, 'rStyle ', 'pStyle');

  22. $styleTable = array('borderSize'=>6, 'borderColor'=>'006699', 'cellMargin'=>80);

  23. $styleFirstRow = array('borderBottomSize'=>18, 'borderBottomColor'=>'0000FF', 'bgColor'=>'66BBFF');

  24. // セル スタイル配列を定義します

  25. $ styleCell = array('valign'=>'center');
  26. // 最初の行のフォント スタイルを定義します
  27. $fontStyle = array('bold'=>true, 'align'=>'center') ;
  28. //タイトルを設定します
  29. $PHPWord->addFontStyle('rStyle', array('bold'=>true, 'italic'=>true, 'size'=>16));
  30. $PHPWord -> addParagraphStyle('pStyle', array('align'=>'center', 'spaceAfter'=>100));

  31. // 表のスタイルを追加します

  32. $PHPWord- >addTableStyle ('myOwnTableStyle', $styleTable, $styleFirstRow);

  33. // テーブルを追加

  34. $table = $section->addTable('myOwnTableStyle');

  35. < p>// 行を追加して行の高さを設定します
  36. $table->addRow(500);

  37. $table->addCell(2300, $styleCell)-> addText('サイトコード ', $fontStyle);

  38. $table->addCell(2300, $styleCell)->addText('駅名', $fontStyle);
  39. $table->addCell(2300, $styleCell) )->addText ('降雨量', $fontStyle);
  40. $table->addCell(2300, $styleCell)->addText('水文観測所の監視タイプ', $fontStyle);

  41. < ;p>$conn = mssql_connect($config['mssql']['host'],$config['mssql']['user'],$config['mssql']['password']);
  42. mssql_select_db ($config[' mssql']['dbname'],$conn);

  43. $stm = date('Y-m-d H:i:s',strtotime('-3 days') );

  44. $sql = "EXEC HNOW05_GETPPSPACE '','','".$stm."',1,1";
  45. $res=mssql_query($sql);

  46. while ($arr = mssql_fetch_array ($res)){

  47. //echo $arr["STCD"]."
    ";
  48. $table->addRow();
  49. $table->addCell(2300) )->addText ($arr["STCD"]);
  50. $table->addCell(2300)->addText($arr["STNM"]);
  51. $table->addCell(2300)- >addText($ arr["P"]);
  52. if($arr["STTP"] == 'MM'){
  53. $table->addCell(2300)->addText('気象観測所') ;
  54. }else if ($arr["STTP"] == 'BB'){
  55. $table->addCell(2300)->addText('蒸発ステーション');
  56. }else if($arr[" STTP"] == 'DD'){
  57. $table->addCell(2300)->addText('ウィアーゲート水文ステーション');
  58. }else if($arr["STTP"] == 'TT' ){
  59. $table ->addCell(2300)->addText('引き潮ステーション');
  60. }else if($arr["STTP"] == 'DP'){
  61. $table->addCell (2300)-> ;addText('ポンプ ステーション');
  62. }else if($arr["STTP"] == 'SS'){
  63. $table->addCell(2300)->addText('ポンプStation');
  64. }else if($arr["STTP"] == 'PP'){
  65. $table->addCell(2300)->addText('雨量計ステーション');
  66. }else if( $arr["STTP" ] == 'ZZ'){
  67. $table->addCell(2300)->addText('河川水位水文観測所');
  68. }else if($arr["STTP"] == 'RR'){
  69. $table->addCell(2300)->addText('貯水池水文ステーション');
  70. }else if($arr["STTP"] == 'ZG'){
  71. $ table->addCell(2300 )->addText('地下給水所');
  72. }else if($arr["STTP"] == 'ZB'){
  73. $table->addCell(2300)- >addText('洪水位ステーション');
  74. }
  75. }
  76. $section->addTextBreak(2);
  77. }else{

  78. }

  79. /******地質災害*******/

  80. if(in_array('3', $a, TRUE)){
  81. $section = $PHPWord->createSection();
  82. $PHPWord ->addFontStyle('rStyle', array('bold'=>false, 'italic'=>false, 'size'=>16));
  83. $PHPWord->addParagraphStyle('pStyle', array ('align'=>'center', 'spaceAfter'=>100));
  84. $c = "地質学的危険";
  85. $section->addText($c, 'rStyle', 'pStyle');

  86. $content="市気象局の 24 時間雨量予報と市水利局のリアルタイム雨量データに基づいて、市土地資源局は、地質災害の予測に注意してください

  87. 地質災害を防ぐためのリアルタイムの警告情報";

  88. $section->addText($content);
  89. // 画像要素を追加します
  90. $section->addImage("images/image001.jpg" , array('width'=>600, 'height'=>480, 'align'=>'center'));
  91. }else{< ;/p>
  92. }

  93. // ファイルを保存
  94. $fileName = "word report".date("YmdHis");
  95. header("Content-type: application/vnd.ms-word");
  96. header("Content-Disposition:attachment;filename=".$ fileName.".docx");
  97. header('Cache-Control: max-age=0');
  98. $objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
  99. $objWriter->save(' php://output');
  100. ?>

コードをコピー


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