@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

ASP.netからエクセルグラフの操作

1
投稿者投稿内容
オオサカ
常連さん
会議室デビュー日: 2003/07/02
投稿数: 49
投稿日時: 2008-07-01 18:26
ASP.netでエクセルのグラフを変更したく作成しているのですが
エラーになってしまいます。

環境
VS2005 VB.netでWEBサイトを作成
Excel2007

VB.netで作成した選択画面のデータの数によって、グラフに表示する系列の数を
変更したいのですが

たとえば下記コードでを実行しますと
"パラメータが無効です"と例外が発生します。

Dim ch1 As Excel.Chart
ch1 = CType(objExcelSheet.ChartObjects(3),Excel.ChartObject).Chart
msgbox(ch1.SeriesCollection(18).Name())
ch1.Legend.LegendEntries(18).Delete()

msgboxの箇所で正しく系列名が表示されるので正しくchartオブジェクトは
取得できていると思うのですが、
ch1.Legend.LegendEntries(18).Delete()で例外が発生してしまいます。

他の方法でも結構ですのでご教授いただけないでしょうか?
よろしくお願いします。


そもそもASP.netでエクセル内のグラフオブジェクトを使用するのは難しいので
しょうか?
参照の設定でExceloOjectLibraryを設定しており、VBA等のサンプルコードを参考に
やってみてはいるのですが。


[ メッセージ編集済み 編集者: オオサカ 編集日時 2008-07-01 19:24 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-07-01 20:27
引用:

オオサカさんの書き込み (2008-07-01 18:26) より:

そもそもASP.netでエクセル内のグラフオブジェクトを使用するのは難しいのでしょうか?参照の設定でExceloOjectLibraryを設定しており、VBA等のサンプルコードを参考に
やってみてはいるのですが。


難しいというかお勧めできないですね。 COM を利用しているならオオサカさんのコードは Web サーバに対して致命的な問題を引き起こすソースになります。 COM と相性の悪い .NET より、たとえば VBScript に任せちゃった方が賢明ですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
オオサカ
常連さん
会議室デビュー日: 2003/07/02
投稿数: 49
投稿日時: 2008-07-02 15:02
ご回答ありがとうございます。

エクセル内に記述したほうがいいということですか。
ありがとうございました。

ASP.netでエクセルを出力するような場合は他に方法はあるのでしょうか?
有償のツールやその他の方法があればご教授いただけないでしょうか?

よろしくお願いします。
たけし
常連さん
会議室デビュー日: 2006/06/15
投稿数: 28
お住まい・勤務地: 銀河系
投稿日時: 2008-07-02 18:01
>ASP.netでエクセルを出力するような場合は他に方法はあるのでしょうか?

グラフはマクロでやるとして
ODBCでエクセルに値を出力する方法があります。

以下参考
http://pgn.blog.shinobi.jp/
1

スキルアップ/キャリアアップ(JOB@IT)