SlideShare a Scribd company logo
Excelファイルを
プログラムで出力しよう
2016.04.20 @yuji0602
Agenda
• やろうと思ったきっかけ
• PHPExcelとは
• openPyXLとは
• プログラムを比較してみよう
• まとめ
やろうと思ったきっかけ
やろうと思ったきっかけ
• 案件でレポートをExcelファイルでダウンロードする必要があ
った。
• 外部スタッフとの共同開発に伴い、開発言語がPHPとなった
。
• それに伴い、PHPでExcelファイルを出力する必要があった。
• ただ、PHPだけではなくpythonでも同じことが出来るのがわ
かったので今回の発表に至る
PHPExcelとは
PHPExcelとは
• PHPでExcelファイルの新規作成、読み込み、書き込み
ができる
• オープンソースソフトウェア(OSS)
• ライセンスはGNU LESSER GENERAL PUBLIC
LICENSE(LGPL)
• https://github.com/PHPOffice/PHPExcel
openPyXLとは
openPyXLとは
• pythonでExcelファイルの新規作成、読み込み、書き込みが
できる
• PHPExcelを基に作られている
• こちらもOSS
• ライセンスはMIT License
• https://bitbucket.org/openpyxl/openpyxl
プログラムを比較してみよう
プログラムを比較してみよう
• 簡単にプログラムを書いてみました。
• https://github.com/yuji0602/phpExcelStudy
• https://github.com/yuji0602/openPyXLStudy
• バージョンは以下で行いました。
• PHP 5.6.12
• python 3.4.3
プログラムを比較してみよう
• PHPExcelは、composerを利用してインスト
ールします。
$ vim composer.json
{
"require": {
"phpoffice/phpexcel": "~1.8.0"
}
}
: wq
$ composer install
プログラムを比較してみよう
• openPyXLは、pipを利用してインストールし
ます。
$ pip install openpyxl
プログラムを比較してみよう
• 簡単な使い方
PHPExcel openPyXL
ワークブック作成 $excel = new PHPExcel(); wb = openpyxl.Workbook()
アクティブなシートを
取得
$sheet = $excel->getActiveSheet(); ws = wb.active
シートのタイトル設定 $sheet->setTitle('Test'); ws.title = 'Test'
表示幅の設定 $sheet->getColumnDimension('A')->setWidth(13); ws.column_dimensions['A'].width = 13
セルに文字を出力 $sheet->setCellValue('A1', '=ROW()-1'); ws.cell(row=1, column=1).value = '=ROW()-1'
ファイル保存
$writer = PHPExcel_IOFactory::createWriter($excel,
'Excel2007');
$writer->save('output.xlsx');
wb.save(filename='output.xlsx')
プログラムを比較してみよう
• その他に以下のことが可能
• セルの色を変更
• 条件式の設定
• チャートを表示
まとめ
まとめ
• PHPやpythonで同じようにExcelファイルを作
成できる
• 利用シーンに応じて使い分けすることが出来
る
• どちらもオープンソースなので不具合とか改
善点を見つけたら修正していきたいところ
おわり

More Related Content

PPT
Mylynとおともだち
PDF
Ansible モジュール 作成・配布・貢献
PDF
openpyxlの使い方
PDF
10080分でPythonからIP Messeneger
PDF
Pythonistaデビュー #PyNyumon 2016/5/31
PPTX
Jupyter Notebookを納品した話
PPTX
WordPressでExcelインポート - Word Fes 2015 -
PDF
LT3「Python を使ってExcel ファイルの修正」
Mylynとおともだち
Ansible モジュール 作成・配布・貢献
openpyxlの使い方
10080分でPythonからIP Messeneger
Pythonistaデビュー #PyNyumon 2016/5/31
Jupyter Notebookを納品した話
WordPressでExcelインポート - Word Fes 2015 -
LT3「Python を使ってExcel ファイルの修正」
Ad

excelファイルをプログラムで出力しよう