none
C#(WEBアプリケーション)からEXCELへのデータ転送 RRS feed

  • 質問

  • C#.net2003(WEBアプリケーション)を使ってORACLE(10g)データを取得し、取得したデータをサーバ上のEXCEL(2003)に書き込み、その後、ファイルのダウンロードにてクライアントに転送するプログラムを作成しようと思っております。

    参照設定で「Microsoft Excel 11.0 Object Library」を追加し、using Microsoft.Office.Interop;を追加してもコンパイル時に「型、または名前空間名'Interop'はクラスまたは名前空間'Microsoft.Office'に存在しません。アセンブリ参照があるか確認してください。」というメッセージが出力されてしまいます。

    Microsoftのサポートオンラインに様々なC#-EXCEL連携例が掲載されていますが、ほとんど「Windowsアプリケーション」での連携となっています。分かる方がいらっしゃれば、WEBアプリケーションでの連携方法をご教示願います。

     

    2006年6月8日 0:57

すべての返信

  • なかじ さん、こんにちは。

     なかじ さんからの引用
    参照設定で「Microsoft Excel 11.0 Object Library」を追加し、using Microsoft.Office.Interop;を追加してもコンパイル時に「型、または名前空間名'Interop'はクラスまたは名前空間'Microsoft.Office'に存在しません。アセンブリ参照があるか確認してください。」というメッセージが出力されてしまいます。

    using に書く必要はありません。
    以下のようにいきなり、Excel. から書けます。


    Excel.Application xlApplication = null;

    try {
        xlApplication = new Excel.Application();
        xlApplication.Visible = true;
    } finally {
        if (xlApplication != null) {
            Marshal.ReleaseComObject(xlApplication);
        }
    }

     

    Microsoftのサポートオンラインに様々なC#-EXCEL連携例が掲載されていますが、ほとんど「Windowsアプリケーション」での連携となっています。

    コード自体には大差はありません。
    Web の場合の、リスクはかなり大きいですが。(色んな意味で)

    2006年6月8日 1:17
  • じゃんぬねっとさん、回答ありがとうございました。

    エラーは出なくなりました。

     

    2006年6月8日 1:33