2012-02-07 3 views
1

Я читаю файл excel с использованием кода C# в таблицу данных и отображаю его в сетку данных WPF. Когда я читаю даты из файла excel и отображаю их в сетку данных, формат дат изменяется. Я использую Oledb ADO.NET для чтения файла excel.Чтение файла Excel с помощью C# (хотите все как строку)

Запрос я использую:

SELECT * FROM [Sheet1$] 

Поэтому в основном я хочу, чтобы прочитать данные из Excel, они это, кажется пользователю, когда он/она открывает первенствовать и то же, как я хочу, чтобы отобразить его в моя сетка данных. Пожалуйста, направляйте меня. Если вам нужна другая информация об этой проблеме, пожалуйста, спросите меня.

С уважением, Priyank Thakkar

+1

Не могли бы вы предоставить connction строку, которую вы используете для OLEDB? –

ответ

1

Используйте строку соединения, подобную этой:

OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"; 

Как цитирует ConnectionStrings.com:

"IMEX = 1;" говорит, что драйвер всегда читает «intermixed» (цифры, даты, строки и т. д.) столбцы данных как текст. Обратите внимание, что этот параметр может повлиять на отрицательный результат записи на лист Excel.

+1

Также настройте таргетинг на платформу x86, так как драйверы Jet не будут работать в 64-разрядном режиме. –

+0

@Roy Goode: спасибо за информацию .... Я попробую и дам вам знать :) –

0

Вы можете сохранить файл в формате .csv и:

 string[] fileLines = File.ReadAllLines("path\file.csv"); 

     foreach (string s in fileLines) 
     { 
      string[] splitRow = s.Split(','); 
      //do stuff w/ row columns 
     } 
Смежные вопросы