- - PR -
ADO.NET を使用したエクセルシート作成
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-09-05 22:49
いま ADO.NET を使用してエクセルシート作成を考えております。
マイクロソフトのサイトよりJet OLE DB プロバイダを使用した 以下の事例が紹介されていたのですが、 エクセルのワークシートを作成する際のデータ型に、 何のデータ型(ADO? C#? Framework?.....???) を指定してよいのかが分かりません。 ご存知の方がいらっしゃいましたら、回答頂ければ幸いです。 よろしくお願いします。 string sConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\ExcelData.xls; Extended Properties='Excel 8.0;HDR=YES';"; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = sConn; conn.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = conn; ●ここの部分です。========================================================= cmd.CommandText = "CREATE TABLE EmployeeData (Id char(255), Name char(255), BirthDate date)"; =========================================================================== cmd.ExecuteNonQuery(); cmd.CommandText = "INSERT INTO EmployeeData (Id, Name, BirthDate) values ('AAA', 'Andrew', '12/4/1955')"; cmd.ExecuteNonQuery(); conn.Close(); |
|
投稿日時: 2004-09-07 17:00
こんにちは。
事例が紹介されていたというのは、ここでしょうか? http://support.microsoft.com/default.aspx?scid=kb;JA;306572 ...確かに、この例では、シートはあらかじめ作成してますねぇ。 直接の解ではないですが、こことかは参考になるでしょうか。。。 http://www.microsoft.com/japan/msdn/thisweek/10lines/office_app.asp |
|
投稿日時: 2004-09-08 01:06
Qooさん、ありがとうございます。
EXCEL97も存在する環境ですので、XMLは断念しました。 紹介されていたというのは、マイクロソフトの下記ページです。 http://support.microsoft.com/default.aspx?scid=kb;ja;316934#10 このページではエクセルへのTable作成で、型指定をしているにも関わらず、 「Excel テーブルは、従来のデータベースとは異なり、 列に直接データ型を指定する方法がありません。」との記載もされています???。 エクスポートしたエクセルには、Createで指定した型が反映されているように思われるのですが... |
|
投稿日時: 2004-09-08 10:16
>エクスポートしたエクセルには、Createで指定した型が反映されているように
DB のように char(255) という情報はExcel列には記憶されていない ということでは? DATE もDBのようなデータ型ではなく、数値の書式ですし(Excelでは) |
|
投稿日時: 2004-09-08 16:06
こんにちは。
http://support.microsoft.com/default.aspx?scid=kb;JA;257819 の”フィールド情報のクエリ”のところにデータ型に関しての記述がありましたよ〜。 |
|
投稿日時: 2004-09-09 16:20
MMXさん、Qooさんありがとうございます。
まず、MMXさんのExcel列に型は記憶されていないのでは?というお話ですが、 型にMoneyを指定し、そこに単なる数値をエクスポートしても セルの書式が通貨となるなど、やはりエクセルで型認識がなされているようです。 次にQooさんに教えていただいた定数ですが、.NETでの使用方法が分かりませんでした。 で、色々型を指定し、使用できるものを試してみたところ、Jetデータ型表記でいいのかな?という気がしてきました。 |
1