重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

最近C#を始めたばかりの初心者です。
環境は
Visual Studio.NET 2003
Excel2003
SQLServer2000
です。

C#でデータベースから個人データを読み込み、それを表示するアプリケーションを作り、さらにそのデータをExcelファイルに出力したいのですが、Excelファイルの特定のセルにデータを書き込むためにどうすればよいのかわかりません。
自分で調べてみてもC#のExcelに関するコマンドが簡単に詳しく書かれているページが見つかりませんでした。
そのようなページをご存知の方がおりましたら、教えてください。
よろしくお願いします。

A 回答 (3件)

参考になるか分かりませんが、


VBSでExcelの扱い方がいろいろあります。

http://www.microsoft.com/japan/technet/scriptcen …
    • good
    • 0

プロジェクトにアセンブリ参照を追加してください。


リファレンスは「参考URL」参照(インターフェースの方)。

[以下 VS2005]
アセンブリ参照を追加するには:
(1) ソルーションエクスプローラの参照設定を右クリックし「参照の追加」 を選択。
(2) ダイアログボックスが現れたら、Comタグを選択。
(3) コンポーネント名が 「Microsoft Excel x.x Object Library」 (x.x は数字)を選択。
[Office 2000 の場合は x.x = 9.0 でした]

[以下 プロジェクトはコンソール. Office2000 で確認]
新規Excel を開き、A1に1000、B2 にAAAAA を書き込む
(閉じる・保存するといった処理が別途必要):

using System;
class Program{
static void Main(string[] args){
try{
Excel.Application excel = new Excel.Application(); //エクセル
Excel.Workbook workbook = excel.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet); // ワークブック
Excel.Worksheet sheet = (Excel.Worksheet)workbook.ActiveSheet; // シート
((Excel.Range)sheet.Cells[1, 1]).Value2 = 1000; // 書き込む
((Excel.Range)sheet.Cells[2, 2]).Value2 = "AAAAA"; // 書き込む

excel.Visible = true; //見せる
}catch (Exception e){
Console.WriteLine(e.StackTrace);
}
}
}
}

適当に作ったので、うまくいかないかもしれません。
参考程度にしてください。

参考URL:http://msdn2.microsoft.com/ja-jp/library/microso …
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考にしてやってみます。

お礼日時:2007/06/21 13:57

以前自力でEXCELファイルにデータを吐き出そうとあれこれやってみたもののうまくいかなかった者です。



EXCELファイルにデータを書き込むにはEXCELファイルのファイルフォーマットを知らないと書けないように思います。(EXCEL VBA とかならできるのかもしれませんが、そちらはよくわからないので。^^;)
拡張子XLSのファイルを作成するには専用のサードパーティ製ソフトがあります。それを使えばできるのではないでしょうか。
例: http://www.seshop.com/detail.asp?pid=4453

単純に特定のセルにデータが入るように吐き出すのであれば、
プログラムでCSVファイルを作成し、StreamWriterクラスでデータを落とし込んで、EXCELでそのCSVファイルを開いてXLSファイルに変換するのが一番手っ取り早いと思います。

参考URL:http://www.atmarkit.co.jp/fdotnet/dotnettips/487 …
    • good
    • 0

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