こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

C#で作成したアプリケーションからExcelの特定のセルに書き込むには?

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

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

投稿日時 - 2007-06-20 10:17:40

QNo.3100138

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(3)

ANo.3

参考になるか分かりませんが、
VBSでExcelの扱い方がいろいろあります。

http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/default.mspx

投稿日時 - 2007-06-22 03:42:52

ANo.2

J_H

プロジェクトにアセンブリ参照を追加してください。
リファレンスは「参考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/microsoft.office.interop.excel(vs.80).aspx

投稿日時 - 2007-06-20 23:26:12

お礼

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

投稿日時 - 2007-06-21 13:57:37

ANo.1

以前自力で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/487csvparser/csvparser.html

投稿日時 - 2007-06-20 16:52:36

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-