ホームページ  >  記事  >  バックエンド開発  >  PHPでWord履歴書を作成する

PHPでWord履歴書を作成する

不言
不言オリジナル
2018-04-03 15:59:355386ブラウズ

PHP には、WordPress を操作するための非常に使いやすいホイールがあり、このホイールは github (PHPOffice/PHPWord) にあります。上記にはより詳細な例とコードがあり、内部のソース コードには、ヘッダー、フッター、ページ番号、フォント スタイル、表の設定、画像の挿入などの一般的な操作を含む、いくつかの一般的な操作例が含まれています。ホイールを使用して履歴書を作成する方法は次のとおりです。

多くの求人サイトには履歴書ダウンロード機能があります。phpを使用して実装するにはどうすればよいですか? PHPOffice/PHPWord には、Word ドキュメントを生成し、そのドキュメントにテキストを挿入する非常に簡単な方法があります。ここで使用する方法はかなり巧妙です。このホイールのドキュメントにはテンプレート処理が含まれています。これはテンプレートの置き換えであると理解しています。これは、laravel のブレード テンプレートと同じ概念です。次は多くは語りませんが、laravel フレームワークが使用されているという操作方法についてだけ説明します。

1. PHPOffice/PHPWordをインストールします

composer require phpoffice/phpword

2. テスト用のコントローラーDocControllerとテストメソッドを作成し、ルーティングを確立します。

php artisan make:controller DocController

3. Word テンプレートを作成します。ここで、ホイールは Word ドキュメント内の ${value} 形式の文字列を置き換えます。
PHPでWord履歴書を作成する図からわかるように、データベースから取得できるいくつかの基本情報があります。ただし、今回は置換方法を直接使用します。職歴や学歴などの複数行の表の場合、テンプレートとして必要なのは 1 行だけです。

4. 特定のコード

//load template docx
        $templateProcessor = new TemplateProcessor('./sample.docx');

        //基础信息填写替换
        $templateProcessor->setValue('update_at', date('Y-m-d H:i:s'));
        $templateProcessor->setValue('number', '123456');
        $templateProcessor->setValue('Name', '张三');
        $templateProcessor->setValue('sex', '男');
        $templateProcessor->setValue('birth', '1996年10月');
        $templateProcessor->setValue('age', '22');
        $templateProcessor->setValue('shortcut', '待业/aaa');
        $templateProcessor->setValue('liveArea', '福建省莆田市涵江区');
        $templateProcessor->setValue('domicile', '福建省莆田市涵江区');
        $templateProcessor->setValue('address', '');
        $templateProcessor->setValue('hopetodo', 'IT');
        $templateProcessor->setValue('hopeworkin', '互联网');
        $templateProcessor->setValue('hopes', '7000+');
        $templateProcessor->setValue('worklocation', '福建省莆田市');
        $templateProcessor->setValue('phone', '123456789');
        $templateProcessor->setValue('mail', '456789@qq.com');
        $templateProcessor->setValue('qqnum', '456789');
        $templateProcessor->setValue('selfjudge', '哇哈哈哈哈哈哈哈');

        //工作经历表格替换
        $templateProcessor->cloneRow('experience_time', 2);//该表通过克隆行的方式,形成两行
        $templateProcessor->setValue('experience_time#1', '2010-09~2014-06');//每行参数是用value#X(X表示行号,从1开始)
        $templateProcessor->setValue('job#1', 'ABC company CTO');
        $templateProcessor->setValue('experience_time#2', '2014-09~至今');
        $templateProcessor->setValue('job#2', 'JBC company CTO');

        //教育经历
        $templateProcessor->cloneRow('time', 2);
        $templateProcessor->setValue('time#1', '2010-09~2014-06');
        $templateProcessor->setValue('school#1', 'ABC');
        $templateProcessor->setValue('major#1', 'Computer science');
        $templateProcessor->setValue('time#2', '2014-09~至今');
        $templateProcessor->setValue('school#2', 'JBC');
        $templateProcessor->setValue('major#2', 'Computer science');

        //语言能力
        $templateProcessor->cloneRow('lang',2);
        $templateProcessor->setValue('lang#1', '汉语|精通');
        $templateProcessor->setValue('lang#2', '英语|精通');

        //技能
        $templateProcessor->cloneRow('skill',3);
        $templateProcessor->setValue('skill#1', 'JAVA|精通');
        $templateProcessor->setValue('skill#2', 'Python|精通');
        $templateProcessor->setValue('skill#3', 'PHP|精通');

        // Saving the document
        $templateProcessor->saveAs('my.docx');

この方法では、Word テンプレートを作成して履歴書を生成できます。

関連する推奨事項:

PHPで円形のユーザーアバターを作成する方法

PHPでミリ秒のタイムスタンプを作成する方法

Thinkphpを使用してWebライブブロードキャストを作成する方法




以上がPHPでWord履歴書を作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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