Open XML Format SDK 2.0 (CTP) =続き3=

前回前々回に引き続きOpen XML Format SDK 2.0(CTP)です。

Open XML Format SDK 2.0(Aplil 2009 CTP)https://www.microsoft.com/downloads/details.aspx?FamilyID=c6e744e5-36e9-45f5-8d8c-331df206e0d0&DisplayLang=en

今回は、DocumentReflectorから出力されたコードを用いてドキュメントを作成してみましょう。

1) 前回のおさらいですが、(これは事件だ.docx)をDocumentReflectorで開いて・・・ image image

2) 最上位のPackageを選択してソースコードとして保存します(Demo.csと名づけてみました。)image

3) Visual Studio 2008でコンソールアプリケーションを作成します。

4) 参照の設定から、WindowsBaseとOpen XML Format SDK で提供されるライブラリ(C:\Program Files\Open XML Format SDK\V2.0\lib\DocumentFormat.OpenXml.dll)
を選択します。
image

5) 既存の項目の追加より、上記で作成したDemo.csを追加します。

6) 下記のコードを記述します。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            GeneratedCode.GeneratedClass gc = new GeneratedCode.GeneratedClass();
            gc.CreatePackage(@"c:\これは事件だ.docx");
        }
    }
}

7) 実行すると、指定した場所にこれは事件だ.docxが出来上がっているはずです。

如何でしょうか?ExcelやPowerPointでも、あるいは、たとえVBAマクロが含まれていても、ドキュメントの作成は同じ手順で可能です。出力されたファイルを改変すれば、データベースから取得した値をあてはめることも簡単にできそうですので、応用範囲も広いと思われます。もっとも、これで帳票を作成したいと考える場合は、そもそもの帳票のファイルはOfficeドキュメントとしてテンプレート的に持ちたいはずです。そうした場合は、2) 最上位のPackageを選択して、ではなく作成するべきパーツを選択して、その部分をコード化すればよさそうですね。

あまり意味はないかもしれませんが、今回のプロジェクトをあげておきます
(そしてこれは事件だ.docxを作ってみてください。)