Raja Ganapathy Ответов: 1

Как читать данные из excel, конвертировать в datatable или dataset?


http://csharpcorner.mindcrackerinc.netdna-cdn.com/forums/uploadfile/50cef0/11092017011035AM/ipmsgclip_s_1510206908_0.png

when i open the excel file above error is occurs, and another error inside the excel opening(Excel was able to open the file by repairing or removing the unreadable content) i click the yes and save as another file and upload the excel.but after the upload many lines are ignored how to fix it.


Что я уже пробовал:

i follow some online solutions and apply but not working.
if i copy the data and paste to new excel doc and upload no problem is occurs successfully uploaded.

Sibasisjena

Возможно, лист excel поврежден. Пожалуйста, создайте образец листа excel и попробуйте прочитать его в datatable. Пожалуйста, найдите решение, приведенное ниже.

Для чтения в Excel-листа-данные в объект DataTable

1 Ответов

Рейтинг:
0

Pandurang Somwanshi

DataTable dtResult = null;
int totalSheet = 0; //Нет листов в файле excel
использование(OleDbConnection objConn = new OleDbConnection(@
"Поставщик=Майкрософт.Туз.Oledb для.12.0;Источник данных=" + Имяфайла + ";дополнительные свойства='значение Excel 12.0;HDR съемка=да;компания IMEX=1;';"))
{
objConn.Открыть();
OleDbCommand cmd = новая OleDbCommand();
OleDbDataAdapter oleda = новый OleDbDataAdapter();
DataSet ds = новый набор данных();
DataTable dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Таблицы, null);
строка листа строка=.Пустой;
if (dt != null)
{
var tempDataTable = (из dataRow в dt.Методом asenumerable()
where!dataRow["TABLE_NAME"].ToString().Contains("FilterDatabase")
выберите dataRow).CopyToDataTable();
dt = tempDataTable;
totalSheet = dt.Rows.Рассчитывать;
sheetName = dt.Rows[0]["TABLE_NAME"].Метод toString();
}
УМК.Соединение = objConn;
УМК.Свойство Commandtype = Значение Commandtype.Текст;
УМК.CommandText = "SELECT * FROM [" + sheetName + "]";
oleda = новый OleDbDataAdapter(cmd);
оледа.Fill(ds, "excelData");
dtResult = ds.Tables["excelData"];
objConn.Рядом();
return dtResult; //Returning Dattable
}