2011-01-17 3 views
0

У меня есть объект DataTable, который считывается из Excel-таблицы. Поскольку лист распространения имеет пустые столбцы. Я хочу избавиться от пустых столбцов в моем DataTable, сохраняя только те столбцы, у которых есть данные заголовка. Любые лучшие подходы, а не чтение, хотя каждый столбец?Выбор указанных столбцов формы DataTable в C#

Я использую 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 для работы. просто загрузите драйвер системы Office 2007: компоненты подключения к данным с http://www.microsoft.com/downloads/en/details.aspx?familyid=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en – Binil