ThinkPHP6.0 コンテンツのエクスポート Word のケースを共有する

藏色散人
リリース: 2020-12-23 09:42:05
転載
2725 人が閲覧しました

次は、thinkphpフレームワーク チュートリアル コラムで、ThinkPHP6.0 コンテンツ エクスポート Word の事例を紹介します。困っている友人の役に立てば幸いです。

ThinkPHP6.0 コンテンツのエクスポート Word のケースを共有する

# (1) 環境構成

    基本環境
    • システム環境:Windows10 x64
    • PHP統合環境:phpstudy
    • PHP依存関係管理ツール:Composer
    • マニュアル:Thinkphp

##(2) ThinkPHP6.0 と Phpword 拡張機能のインストール(1) ThinkPHP6.0 のインストール

composer create-project topthink/think phpword
ログイン後にコピー

(2) phpword プラグインのインストールin

composer require phpoffice/phpword
ログイン後にコピー

(3) コンテンツのエクスポート word(1) Word ドキュメントを生成するためのコンテンツのエクスポート

 * @describe: */ public static function exportToword($text,$title=null,$save=false){ $phpWord=new PhpWord(); //实例化 //调整页面样式 $sectionStyle = array('orientation' => null, 'marginLeft' => 300, 'marginRight' => 300, 'marginTop' => 300, 'marginBottom' => 400); $section = $phpWord->addSection($sectionStyle); //添加页眉 /* $header=$section->addHeader(); $k=$header->addTextRun(); //页眉添加一张图片 $k->addImage(app()->getRootPath().'public'.DS."static/images/jrk.jpg",array( 'width' => '100%', 'height' => 60, 'marginTop' => -1, 'marginLeft' => 1, 'wrappingStyle' => 'behind', ));*/ //添加页脚 $footer = $section->addFooter(); $f=$footer->addTextRun(); $f->addImage(app()->getRootPath().'public'.DS."static/images/jrk.jpg",array( 'width' => 105, 'height' => 65, 'marginTop' => -1, 'marginLeft' => 1, 'wrappingStyle' => 'behind', )); $footer->addPreserveText('Page {PAGE} of {NUMPAGES}.',array('align'=>'center')); //添加标题 if (!empty($title)){ $section->addText( $title, array('name' => '黑体', 'size' => 15), array('align'=>'center') ); } //添加换行符 $section->addTextBreak(2); //添加文本 if (is_array($text)){ foreach ($text as $v){ $section->addText( $v, array('name' => 'Arial', 'size' => 13), array('lineHeight'=>1.5,'indent'=>1) ); } }else{ $section->addText( $text, array('name' => 'Arial', 'size' => 13), array('lineHeight'=>1.5,'indent'=>1) ); } $fname=Tool::uniqidDateCode(); if ($save){ /*保存文档到本地*/ $objwrite =IOFactory::createWriter($phpWord); $t=date("Ymd",time()); //保存的路径和中文名称适应 $dir = iconv("UTF-8", "GBK", app()->getRootPath().'public'.DS.'words'.DS.$t); if (!file_exists($dir)) { @mkdir($dir, 0777, true); } $pa = $t."/".$fname.".docx"; $objwrite->save(app()->getRootPath().'public'.DS.'phpoffices/words'.DS.$pa); return ['code'=>1,'url'=>'/phpoffices/words/'.$pa,'domain'=>request()->domain(true)]; }else{ //不保存到服务器,直接输出浏览器下载 $name=$fname.".docx"; //文件名称 $phpWord->save($name,"Word2007",true); } exit; } }
ログイン後にコピー

(2 ) コンテンツ生成 HTML ファイル

/** * @param $text * @param bool $save * @return array * @throws \PhpOffice\PhpWord\Exception\Exception * @author: LuckyHhy  * @describe: */ public static function makeHtml($text,$save=false){ $phpWord=new PhpWord(); //实例化 $section = $phpWord->addSection(); $fontStyleName = 'oneUserDefinedStyle'; $phpWord->addFontStyle( $fontStyleName, array('name' => 'Tahoma', 'size' => 13, 'color' => '1B2232', 'bold' => true) ); if (is_array($text)){ foreach ($text as $v){ $section->addText( $v, $fontStyleName ); } }else{ $section->addText( $text, $fontStyleName ); } $fname=Tool::uniqidDateCode(); if ($save){ $objwrite = IOFactory::createWriter($phpWord, 'HTML'); $t=date("Ymd",time()); //保存的路径和中文名称适应 $dir = iconv("UTF-8", "GBK", app()->getRootPath().'public'.DS.'phpoffices/htmls'.DS.$t); if (!file_exists($dir)) { @mkdir($dir, 0777, true); } $pa = $t."/".$fname.".html"; $objwrite->save(app()->getRootPath().'public'.DS.'phpoffices/htmls'.DS.$pa); return ['code'=>1,'url'=>'/phpoffices/htmls/'.$pa,'domain'=>request()->domain(true)]; }else{ $name=$fname.".html"; //文件名称 $phpWord->save($name,"HTML",true); } exit; }
ログイン後にコピー

以上がThinkPHP6.0 コンテンツのエクスポート Word のケースを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!