- PR -

OleDBからExcelのデータが取れない

1
投稿者投稿内容
さく
ベテラン
会議室デビュー日: 2004/06/11
投稿数: 74
投稿日時: 2006-10-11 20:23
お世話になっております。

OleDBのメゾットを使って、Excelからデータを取得する
処理を作成したのですが、ある条件の時、データが取得できず
悩んでいます。

取得は、下記のようなソースで取得しました。

OleDbConnection oleCon = new OleDbConnection("Provider=Microsoft.Jet..; data source = "XXXX.xls;....") ;
OleDbDataAdapter oleAdp = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", oleCon) ;

DataSet dsExcel = new DataSet() ;
oleCon.Open() ;
oleAdp.Fill(dsExcel, "Excelデータ") ;
oleCon.Close() ;

以下、下記処理があります。

取得した(dsExcel)から、
ある列項目のデータをArrayList型にして取得。
下記表の場合だと、C項目でデータがある物(c1)だけを
ArrayListに追加していきます。

Excelデータ
■ A | B | C |
01 A1| B1|
02 A2| B2|
03 A3| B3|
.
09 A9| B9| c1 |

ExcelデータのC項目に、01行〜09行の間に何かしらの
データがある場合は、09行以降のデータを全て取得しています。

しかし、01〜09行の間にデータがない場合、10行以降にデータが
あっても、データは取得されません。

oleDbで何か設定が必要なのでしょうか?
oleDbのバグでしょうか?

開発環境は、2003。開発言語はC#です。

宜しくお願いします。
まるく
大ベテラン
会議室デビュー日: 2004/01/09
投稿数: 181
投稿日時: 2006-10-12 01:06
Extended Properties="IMEX=1;"
ってやつですかね?

http://support.microsoft.com/kb/257819/ja
http://msdn2.microsoft.com/ja-jp/library/ms254978.aspx
さく
ベテラン
会議室デビュー日: 2004/06/11
投稿数: 74
投稿日時: 2006-10-12 20:38
まるくさん、返信ありがとうございます。

解決しました。

多謝。
1

スキルアップ/キャリアアップ(JOB@IT)