2011-01-17 18 views
0

Excelのsperadheetから読み込んだDataTableオブジェクトがあります。スプレッドシートには空白の列があるためです。ヘッダーデータを持つ列だけを保持しているDataTableの空の列を取り除きたい。各列を読み込むのではなく、より良いアプローチですか?C#でDataTableから指定された列を選択する

私はC#3.5を使用しています。

+0

Excelスプレッドシートはどうやって読んでいますか?多分あなたはそこで何かできますか? 。 。 –

答えて

0

データをフェッチするために各列をループするのではなく、「OleDbConnection」を使用することをお勧めします。 空白の列は避けてください

OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Book1.xls;Extended Properties=Excel 8.0"); 

OleDbDataAdapter da = new OleDbDataAdapter("select * from YourTable", con); 

DataTable dt = new DataTable(); 

da.Fill(dt); 
+0

以前の実装では全く同じことが... ...!これは、Excelがインストールされていない場合にのみ動作します。 – Amit

+0

Excelをインストールする必要はありません。 2007 Office System Driver:Data Connectivity Componentsをhttp://www.microsoft.com/downloads/en/details.aspx?familyid=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=enからダウンロードしてください。 – Binil

関連する問題