- - PR -
[ Excelへのデータ移行 ] についての質問
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-02-08 18:42
善浪と申します。
dataGridのデータをExcelに移行して印刷することを 考えておりましたところに、諸農さんのコードを拝見させていただきました。 Excelへのデータ移行を体験したくて、早速コードを打ち込んでみましたところ、 dataGridにデータをセットすることはできたのですが、 Excelへのデータ移行のところで2つのエラーがでてしまいました。 <エラー1>Missing.Value wkBook = wkBooks.Add(Missing.Value); range = wkSheet.get_Range("A1", Missing.Value); range.set_Value(Missing.Value, dataValue); これは、Microsoft Excel 9.0 Object Libralyを参照し、using system.Reflection; とすることで解消することが出来ました。 <エラー2>range.set_Value range.set_Value(Missing.Value, dataValue); set_Valueに対して、 'Excel.Range.Value.set' : 演算子またはアクセサを明示的に呼び出すことはでき ません。 というメッセージがでてきます。このエラーの対処方法が全く解らなくて困っています。 このことを教えて頂けますようよろしくお願いいたします。 [ メッセージ編集済み 編集者: ZEN73 編集日時 2004-02-09 05:46 ] | ||||||||||||
|
投稿日時: 2004-02-09 07:02
諸農です。
私宛なのかしら(^^;
Excel2000ということでしょうか?
Excel9であるなら、こんな感じかも。(未検証です)
以下のサイトが参考になると思います。 [HOWTO] Visual C# .Net で Excel を自動化し、 配列による範囲内へのデータ入力および範囲内からのデータ取得を行う方法 http://support.microsoft.com/default.aspx?scid=kb;ja;302096 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||||||
|
投稿日時: 2004-02-09 20:07
善浪です。諸農さんありがとうございました。
ASP.NETでのExcel利用は、いろいろ目にはするのですが、 なにせ、先週に還暦を迎えた頭では、応用もままならず…。 本当に助かりました。 引用------------------------------------------------- 諸農です。 私宛なのかしら(^^; ----------------------------------------------------- もちろんです。これからもよろしくお願いします。 引用------------------------------------------------- Excel2000ということでしょうか? ----------------------------------------------------- そうなのです。もしや、エクセルのバージョンが合わないのかなという 思いはあったのですが、自分で調べることもせず甘えてしまいました。 引用------------------------------------------------ Excel9であるなら、こんな感じかも。(未検証です) コード: --------------------------------------- range.Value = dataValue; ----------------------------------------------- ---------------------------------------------------- 検証することが出来ました。 [ Excel97][ Excel2000]は、range.Value = dataValue; [ Excel2002]以降は、 range.set_Value(Missing.Value, dataValue); と、覚えておきます。 ここで、心配なことが出てきました。 データベース・アプリケーションを完成させたら、結構多くの人たちに配布 しようと思っているのですが、それぞれの人のExcelのVersionの違いは 乗り越えることが出来るのでしょうか?。それとも、プログラムでVersionを 調べに行かねばならいのでしょうか?。 引用----------------------------------------------- 以下のサイトが参考になると思います。 [HOWTO] Visual C# .Net で Excel を自動化し、 配列による範囲内へのデータ入力および範囲内からのデータ取得を行う方法 http://support.microsoft.com/default.aspx?scid=kb;ja;302096 ----------------------------------------------------------------- ご親切に、ありがとうございます。 しっかり勉強したいと思います。 [ メッセージ編集済み 編集者: ZEN73 編集日時 2004-02-09 20:09 ] | ||||||||||||
|
投稿日時: 2004-02-09 21:24
諸農です。
会議室のマナー違反ですよ、とまでは言いませんが(^_^; 名指しされるのはあまり気持ちのいいものではないです。 また、名指しされても、引用したトピックの参照先が 明示されていないと、他の方からの有益有用なコメントを 逃すことにもつながると、私は考えますので今後はご注意 された方がいいかと感じます。
2種類のバージョンを用意しておいて、ユーザーに選択してもらう。。 ぐらいしか思い付かないですね。。 安直な回答で申し訳ないm(_ _)m #仕事で週末からの連徹からようやく帰って来たものですから、 #発想が貧困になりがちです。すみません。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||||||
|
投稿日時: 2004-02-09 23:51
ところが、Windows Insiderの方は、結構名指しがあったり・・・まぁ、「気持ちのいいものではない」には同感。タイトルに名前が入ると、もっとドキドキ!
参照するときにすでにバージョンを指定しているから無効では?私の方では、一応2002用で2000でも動いていました。DLLがコピーされているから、でしょうけど。ただ、VBAも使うときは、ファイルを2つ用意せねばなりませんでした。 #そのほか、印刷問題も・・・ |
1