2015-02-01 2 views
0

Добрый день! Я пытаюсь сделать типизированный набор данных или datatable во время выполнения без БД.C#: Как сделать типизированный набор данных или какую-то другую структуру во время выполнения?

У меня есть файл Excel, и вы хотите разобрать его и ввести типизированный набор данных. Потому что, если SO- я могу сделать что-то подобное:

foreach(Person personRow in dataSetPerson.Rows) 
{ 
    var name=personRow.name;//etc 
} 

Но я не могу. Я пытаюсь сделать это с this question, но не смог.

Пожалуйста, скажите, как сделать некоторую типизированную структуру (набор данных или может быть другой) во время выполнения? Спасибо!

ответ

1

Вы можете использовать струйный олень.

https://www.connectionstrings.com/microsoft-jet-ole-db-4-0/

Provider = Microsoft.Jet.OLEDB.4.0; Источник данных = C: \ MyExcel.xls; Расширенные свойства = "Excel 8.0; HDR = Yes; IMEX = 1";

И затем напишите запрос для вашего файла excell.

string query = "SELECT [aa],[bb],[cc] FROM [Sheet1$]"; 
OleDbConnection conn = new OleDbConnection(myConnectionStringsRef); 
conn.Open(); 
OleDbCommand cmd = new OleDbCommand(query, conn); 
OleDbDataAdapter da = new OleDbDataAdapter(cmd); 
DataSet ds = new DataSet(); 
da.Fill(ds); 

      var XXX = ds.Tables[0]; 

da.Dispose(); 
conn.Close(); 
conn.Dispose(); 
Смежные вопросы