サーバーでExcelファイルを作る必要があり、先日のPowerShell Advent Calendar 2011 : ATNDでPowerShell で Open XML ドキュメントを作成する - Hello Another World!が紹介されていましたので使わせて頂きました。
<PowerTools for Open XML>
- 環境
- 以下から「Open XML SDK 2.0 for Microsoft Office」をインストール。とりあえず、「OpenXMLSDKv2.msi」だけインストールすれば良さそう。
- 続いて、以下から「PowerTools for Open XML」をダウンロード。
PowerTools for Open XML - 解凍するとC#のソリューションが出てくるのでVisualStudioでビルドする。
- 「C:\Windows\System32\WindowsPowerShell\v1.0\Modules」に「OpenXmlPowerTools」フォルダーを作りビルドして出来上がった「OpenXmlPowerTools.dll」と「OpenXmlPowerTools.dll-Help.xml」を入れる。
コマンドラインで「ipmo OpenXmlPowerTools」と打ってエラーにならなければ環境はOK
- 以下から「Open XML SDK 2.0 for Microsoft Office」をインストール。とりあえず、「OpenXMLSDKv2.msi」だけインストールすれば良さそう。
- 使い方
- 以下のような感じで「Export-OpenXmlSpreadsheet」にオブジェクトをパイプしてやれば簡単にExcelファイルの出来上がり。
ps | Export-OpenXmlSpreadsheet -OutputPath .\test.xlsx
- 以下のような感じで「Export-OpenXmlSpreadsheet」にオブジェクトをパイプしてやれば簡単にExcelファイルの出来上がり。
実に簡単に使える。
非常に素晴らしい。
しかし、これ以降がよく判らない。
単純にこれまでCSVに出力していたものをExcelに変更するだけであればこれで問題ないのだが、せっかくExcelなので多少は書式を設定したり計算式を入れたりしたくなるのが人情というもの。
なんとなく以下のページを見ると、ほとんどがWord用に思えてしまう。
InfoQ: コマンドラインからOfficeドキュメントを生成する
完全に行き詰ってしまったので、ちょっと方向転換して以下のツールを試して見ることとした。
PowerShell で Excel 2007 のシートを操作する - Shigeya Tanabe's blog - Site Home - TechNet Blogs
なんとなくこちらはExcelのVBAライクに使えそうに見える。
<ExcelPackage.dll>
- 環境
- 環境といっても特に何も無い。
以下からdllをダウンロードして好きな場所に置いておくだけ。
ExcelPackage: Office Open XML Format file creation - 使い方
プロパティとかを見ると色々出来そうなので、あとでもう少し本格的に使ってみようと思います。
0 件のコメント:
コメントを投稿