Невозможно получить значение набора данных
Я пытаюсь прочитать данные из файла. xlsx с помощью OLEDB. Но я не мог получить значение из набора данных. Иам получать значение как система".Данных.Объекта datarow" . Но мне нужно получить значение для каждой строки. Я дал свою кодировку ниже.
private void ImportExcel(string strFilePath) { if (!File.Exists(strFilePath)) ; String strExcelConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + strFilePath + ";" + "Extended Properties='Excel 8.0;HDR=Yes'"; OleDbConnection connExcel = new OleDbConnection(strExcelConn); OleDbCommand cmdExcel = new OleDbCommand(); try { cmdExcel.Connection = connExcel; //Check if the Sheet Exists connExcel.Open(); DataTable dtExcelSchema; //Get the Schema of the WorkBook dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); connExcel.Close(); //Read Data from Sheet1 connExcel.Open(); OleDbDataAdapter da = new OleDbDataAdapter(); DataSet ds = new DataSet(); string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString(); cmdExcel.CommandText = "SELECT * From [" + SheetName + "]"; da.SelectCommand = cmdExcel; da.Fill(ds); for (int i = 0; i <= ds.Tables[0].Rows.Count; i++) { string name = ds.Tables[0].Rows[i].ToString(); } connExcel.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "ImportExcel"); } finally { cmdExcel.Dispose(); connExcel.Dispose(); } }
Что я уже пробовал:
private void ImportExcel(string strFilePath) { if (!File.Exists(strFilePath)) ; String strExcelConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + strFilePath + ";" + "Extended Properties='Excel 8.0;HDR=Yes'"; OleDbConnection connExcel = new OleDbConnection(strExcelConn); OleDbCommand cmdExcel = new OleDbCommand(); try { cmdExcel.Connection = connExcel; //Check if the Sheet Exists connExcel.Open(); DataTable dtExcelSchema; //Get the Schema of the WorkBook dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); connExcel.Close(); //Read Data from Sheet1 connExcel.Open(); OleDbDataAdapter da = new OleDbDataAdapter(); DataSet ds = new DataSet(); string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString(); cmdExcel.CommandText = "SELECT * From [" + SheetName + "]"; da.SelectCommand = cmdExcel; da.Fill(ds); for (int i = 0; i <= ds.Tables[0].Rows.Count; i++) { string name = ds.Tables[0].Rows[i].ToString(); } connExcel.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "ImportExcel"); } finally { cmdExcel.Dispose(); connExcel.Dispose(); } }
The Praveen Singh
какую ошибку вы получили ??