QA@IT
«回答へ戻る

回答を投稿

サーバーで Excel を含む Office を操作するのはサポートされてません。詳しくは以下のページを見てください。

Office のサーバーサイド オートメーションについて
http://support2.microsoft.com/default.aspx?scid=kb;JA;257757

Office のサーバーサイド オートメーションの再考
https://crieilluminate.wordpress.com/2009/09/15/office-%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%B5%E3%82%A4%E3%83%89-%E3%82%AA%E3%83%BC%E3%83%88%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E5%86%8D%E8%80%83/

なので、今回の問題に対しての直接の解決策は得られないのではないかと思います。

代案としては、サーバーで使えるように開発されたサードパーティ製品や Open XML を利用するのがよさそうです。

Open XML SDK 2.0 を使用して Excel 2010 ブックを生成する
http://msdn.microsoft.com/ja-jp/library/office/hh180830(v=office.14).aspx

Excel 2007 以降なら ClosedXML というのもあります。

ClosedXML - The easy way to OpenXML
http://closedxml.codeplex.com/

書式の設定などは必要なく、単純にプレーンな Excel ファイルを作るだけで良ければ、JET または ACE プロバイダと ADO.NET を利用しても可能です。

ACE OleDb で Excel のブック作成
http://surferonwww.info/BlogEngine/post/2012/01/26/Creating-Excel-workbook-by-using-ACE-OleDb-provider.aspx

上記の記事では ACE を使っていますが、Excel 2003 以前なら ACE に代えて JET が使えます。

ただ、ACE は先に紹介した記事によると、Office のサーバーサイドオートメーションの範疇に入るそうですので、十分に検証するなどの注意が必要かもしれません。

サーバーで Excel を含む Office を操作するのはサポートされてません。詳しくは以下のページを見てください。

Office のサーバーサイド オートメーションについて
http://support2.microsoft.com/default.aspx?scid=kb;JA;257757

Office のサーバーサイド オートメーションの再考
https://crieilluminate.wordpress.com/2009/09/15/office-%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%B5%E3%82%A4%E3%83%89-%E3%82%AA%E3%83%BC%E3%83%88%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E5%86%8D%E8%80%83/

なので、今回の問題に対しての直接の解決策は得られないのではないかと思います。

代案としては、サーバーで使えるように開発されたサードパーティ製品や Open XML を利用するのがよさそうです。
 
Open XML SDK 2.0 を使用して Excel 2010 ブックを生成する
http://msdn.microsoft.com/ja-jp/library/office/hh180830(v=office.14).aspx
 
Excel 2007 以降なら ClosedXML というのもあります。
 
ClosedXML - The easy way to OpenXML
http://closedxml.codeplex.com/

書式の設定などは必要なく、単純にプレーンな Excel ファイルを作るだけで良ければ、JET または ACE プロバイダと ADO.NET を利用しても可能です。
 
ACE OleDb で Excel のブック作成
http://surferonwww.info/BlogEngine/post/2012/01/26/Creating-Excel-workbook-by-using-ACE-OleDb-provider.aspx
 
上記の記事では ACE を使っていますが、Excel 2003 以前なら ACE に代えて JET が使えます。
 
ただ、ACE は先に紹介した記事によると、Office のサーバーサイドオートメーションの範疇に入るそうですので、十分に検証するなどの注意が必要かもしれません。