eightban's memo

残しておきたい記事をまとめてみました。

PHP

PHPをインストールしExcelを操作する ~ PHP

更新日:

PHPはwebサイトで使用されている言語で、ブログなどで使われているWordpressもPHPで開発されているそうです。

XAMPP Apache + MariaDB + PHP + Perlの統合環境を導入しても良いのですが、今回はインストールの使用容量も少ないPHPをインストールし、excelの操作まで行ってみます。75Mb程度です。

PHPのインストール

下記サイトより、NonThreadタイプのZipファイルをダウンロードします。

https://windows.php.net/download/

IISを使用する場合はNon-Threadタイプ、Apacheを使用する場合はThreadタイプを選ぶように書いてありますが、今回はWebプログラミングでないのでどちらでも構いませんが、Non-Threadタイプを選びます。32ビット64ビットがありますが、ぞれぞれのPCにより選択してください。

PHPプログラムのインストール

ダウンロードした「php-7.2.6-nts-Win32-VC15-x64.zip」を解凍しますが、次のフォルダを作って、そのフォルダに展開します。

D:\oss\PHP\PHP726

php-7.2.6のフォルダではうまく動かない場合があったので、そのようにしています。

別バージョンも管理できるようにこのようにしました。

VC++ランタイムのインストール

The VC15 builds require to have the Visual C++ Redistributable for Visual Studio 2017 x64 or x86 installed

となっているので、VS2017のランタイムが入っていない場合は下記サイトからダウンロードしてインストールします。

https://www.visualstudio.com/ja/downloads/?q=#other-ja

ダウンロードボタンのリンク先です。

https://aka.ms/vs/15/release/VC_redist.x64.exe

composerのインストール

excelライブラリを入れたいのですが、その前にPHPのライブラリの管理ツール「composer」をインストールしておきます。

手動でインストールする方法もありますが、Windows用に簡単にセットアップするツールがあるので、それを使用させてもらいます。

https://getcomposer.org/

次の画面で「Composer-Setup.exe」をダウンロードします。

composerセットアップツールの実行

環境変数も変更してくれます。

phpspreadsheetのインストール

excelの操作ができるphpspreadsheetは下記サイトにありますが、composerでインストールします。

https://github.com/PHPOffice/PhpSpreadsheet

MSDOSプロンプトを管理者権限で開きます。

実行しても無反応となった場合はPCを再起動して、同じコマンドをいれてください。

しかし、動いた場合でも下記のようなエラーが出た場合はphp.iniを編集するように書いてあります。

d:\oss\PHP\PHP726\ext\php_gd2.dll があることを確認し

D:\oss\PHP\PHP726\php.iniの最後に次の行を追加します。

再度、下記コマンドをいれます。

うまく動くと下記のようなメッセージがでます。

vendorフォルダが作成され、composerとphpofficeのフォルダ、autoload.phpができています。

hello world

helloworld.phpのプログラムを作成して、どこでもよいのですがファイルを保存します。

D:\oss\PHP\PHP726\workspace\helloworld.phpとしました

下記のようにコマンドプロンプトで実行すると「Hello World!」が表示されました。

excelの入出力サンプル

A1セルに値をセットしexcelファイルに出力し、入力後A2セルに値をセットしてexcelとcsvに出力するサンプルです。

composerのautoload.phpでオートロードしてくれるので、2行目のautoloadを忘れずに入れてください。

入れないと下記のようなエラーがでます。

 

csvを読みこみexcelテンプレートに出力するサンプル

よくあるcsvファイルを読み込んでexcelシートにセットして出力するサンプルです。

あ,い,う
a1,b1,c1
a2,b2,c2

のようなCSVデータと何も入れていないxlsxファイルを用意してください。

前回作成したファイルを使って動かします。エラーの制御は入れていないので、業務で使用する場合は適宜変更してください。

 

 

-PHP

Copyright© eightban's memo , 2018 All Rights Reserved Powered by STINGER.