dポイントプレゼントキャンペーン実施中!

只今Excelファイルの出力について悩んでいます。

DataGridViewやListViewのデータをExcelに吐き出そうと思っています。
が、ネットで色々と調べてもよくわかりません・・・

サンプルソースは出てくるのですが、何が必要でどのようなことができるのかが
いまいちピンと来なく、なかなか実現に至っていません。

やりたいことは
 ・新規作成するExcelファイルの名前を任意で入力
 ・保存先を指定
 ・DataGridViewなどの入力データをExcelにそのまま吐き出す
です。

分からないのは
 ・Excelファイルを生成して保存してからデータを入れるのか(処理の順番)
 ・データ挿入はどうやるのか
 ・そもそもExcelファイルの生成と保存の仕方

プログラミング初心者なので、いまいち把握しきれません
できれば97-2003ブックに対応したものをと思っています。
手順など分かる方、よろしくお願いします。

念のため開発環境とExcelのバージョンを・・
VisualStudio2008 C#
OS:XP
Excel:2007

A 回答 (3件)

> ・そもそもExcelファイルの生成と保存の仕方


についてですが。

C#にてエクセルの名前をつけて保存の方法
http://okwave.jp/qa4881377.html
回答No3で、新規Book作成~名前を付けて保存をしてます。

Excel2007は不所持なので、もし違ったらごめんなさい。

この回答への補足

色々試した結果、n-jun様に示していただいたやり方を
ベースにした方法に落ち着きました。
データの挿入はコピーペーストにて一気に行い
1つずつ挿入によるスピードダウンを回避。
ですがもうちょっと利口なやり方があるような気がします・・・
それはまたちょくちょく調べつつ実現していけたらと思います。

回答して頂いた方ありがとうございました!

※妙なところで、A1がCell[1,1]であることになかなか気付かず
 Cell[0,0]と記述していたため
 エラーに小一時間ほど悩んだりもしました。。。

補足日時:2009/08/22 08:56
    • good
    • 2
この回答へのお礼

おお、新規作成から保存までのサンプルソース!
ありがとうございます
試してみます

お礼日時:2009/08/16 13:43

まだ出てない方法で、Microsoft Jet データベース エンジン(ACCESSのデータベースエンジン)を使うやり方があります。


この方法のメリットとしては、ExcelがインストールされてなくてもExcelファイルに出力できる事でしょうか。
(内容の確認には、Excelがないと不便ですが。。。)

以下のサイトで丁度よい例が載ってますので、参考にされたら良いと思います。
http://blog.so-net.ne.jp/jem/2009-03-07
処理は、以下のような流れになってます。
1.データベースのオープン(Excelファイル生成含む)
2.DataGridViewよりExcelにテーブル(シート)を作成
  ※テーブルの項目は、DataGridViewから自動生成
3.DataGridViewのデータを作成したテーブル(シート)に出力
  ※パラメータクエリで出力時に毎回パラメータを作成しているので改善の余地ありです。
4.データベースのクローズ(Excelファイル保存)
※ソースには、インデントを作るために漢字スペースが使われてますので使う場合は気を付けて下さい。

探せば他にも参考となる資料がありそうです。

まあ、出力形式に拘らなければ、CSVファイルとして出力する方が一番簡単だと思います。
    • good
    • 0
この回答へのお礼

なるほど、DBとして扱えるんですね
流れも丁寧に教えて頂きありがとうございます
ソースをみながら試してみます

確かにCSVにして出力は簡単そうですね
ですが今回はExcelに出力してそのまま印刷などもやりたいので・・・
でもCSVのほうもそのうち必要になってくると思うので
こちらもやり方調べてみます
アドバイスありがとうございます

お礼日時:2009/08/16 13:59

主に三つの方法があります。



(1)Excelオートメーションを使用する。
(2)ExcelHTML形式またはExcelXML形式のテキストファイルを作成して、拡張子はxlsで保存する。
(3)サードパーティのライブラリを使用する。(お勧めはExcelクリエータ)

(1)は、.NETとの相性が悪く、Excelのバージョンの違いにより問題が発生します。
お勧めしません。

(2)は、Excel97で雛形を作ってHTML形式で保存。そのファイルを真似して作ればよい。

Excelクリエータは有料ですが、最も簡単でトラブルもなくてお勧めです。
    • good
    • 0
この回答へのお礼

3つも方法があるんですね
有料なものは相談する必要があるので
HTMLで吐き出してxlsで保存する方法を調べてみます
ありがとうございます!

お礼日時:2009/08/16 13:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!