[英]There is no row at position 0 : While getting value from Dataset to Textbox in c#
我试图从Excel的单元格到C#中的文本框获取价值。 我已经使用数据集从excel获取值,但是当从数据集取值到文本框时它给出了错误
位置0没有行
我也尝试使用Item Array但没有用。 这是我的代码:
DataSet dsloc = new DataSet();
OleDbDataAdapter daloc = new OleDbDataAdapter();
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + txtfilepath.Text + ";Extended Properties=\"Excel 8.0;HDR=Yes;\";";
OleDbConnection con = new OleDbConnection(connStr);
string strloc = "select * from [sheet1$A5:A5]";
OleDbCommand cmdloc = new OleDbCommand(strloc, con);
con.Open();
dsloc.Clear();
daloc.SelectCommand = cmdloc;
daloc.Fill(dsloc);
txtloc.Text = dsloc.Tables[0].Rows[0]["Location"].ToString();
我努力了
DataRow drow;
drow = dsloc.Tables[0].Rows[0];
txtloc.Text = drow.ItemArray.GetValue(1).ToString();
也
txtloc.Text = dsloc.Tables[0].Rows[0][0].ToString();
找到解决方案后,来自excel的值实际上就是数据表的列名,就像我在屏幕截图中可以看到的那样,所以我只需要获取列名即可。
DataTable dtloc = new DataTable();
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + txtfilepath.Text + ";Extended Properties=\"Excel 8.0;HDR=Yes;\";";
string strloc = "select * from [sheet1$A5:A5]";
OleDbCommand cmdloc = new OleDbCommand(strloc, con);
con.Open();
daloc.SelectCommand = cmdloc;
string location = dtloc.Columns[0].ColumnName.ToString();
还使用数据表代替数据集。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.