从C#中的DataTable获取单元格值
这是一个DataTable dt ,它有很多数据。
我想从DataTable中获取特定的Cell值 ,比如Cell [i,j] 。 哪里,我 – >行和j – >列。 我将用两个forloops
迭代i,j的值。
但我无法弄清楚如何通过索引调用单元格。
这是代码:
for (i = 0; i <= dt.Rows.Count - 1; i++) { for (j = 0; j <= dt.Columns.Count - 1; j++) { var cell = dt.Rows[i][j]; xlWorkSheet.Cells[i + 1, j + 1] = cell; } }
DataRow
还有一个索引器 :
Object cellValue = dt.Rows[i][j];
但我更喜欢强类型的Field
扩展方法,它也支持可空类型 :
int number = dt.Rows[i].Field(j);
或者甚至更易读,并且更容易出错,并且列名称:
double otherNumber = dt.Rows[i].Field("DoubleColumn");
您可能需要从Rows
而不是单元格引用它:
var cellValue = dt.Rows[i][j];
您可以像这样迭代DataTable
:
private void button1_Click(object sender, EventArgs e) { for(int i = 0; i< dt.Rows.Count;i++) for (int j = 0; j
根据DataTable
单元格中数据的类型,您可以将对象强制转换为您想要的任何对象。
您也可以直接在datatable变量上调用索引器:
var cellValue = dt[i].ColumnName
试试这个
var ds = new DataSet(); var cellValue = (ds.Rows[0][1]).ToString();
如果我正确理解了您的问题,您想显示填充数据表的一个特定单元格? 这是我用来在DataGrid中显示给定单元格的内容。
var s = dataGridView2.Rows[i].Cells[j].Value; txt_Country.Text = s.ToString();
希望这可以帮助