
把数据放入datatable中之后,如何读取指定行列的数据呢?
我放的不是数据库中的数据,没有表头也不止一列,比如我想找第三行第四列的数据。
现在我已经写了代码如下:
try
{
string strConn;
strConn = @"Provider=MicrosoftJetOLEDB40;Data Source= C:\Users\Administrator\Desktop\cstestxls;Extended Properties='Excel 80;HDR=False;IMEX=1'";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConnOpen();
String sql = "SELECT FROM [Sheet1$]";
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcelFill(OleDsExcle, "Sheet1");
DataTable dt = OleDsExcleTables[0];
//这里要怎么继续写下去呢
label1Text = ;
OleConnClose();
}
catch (Exception ex)
{
label1Text = exMessage;
}
List <string> ls = new List <string>(); //存放你一整列所有的值
DataTable dt = new DataTable();
foreach (DataRow dr in dtRows)
{
lsAdd(dr["列名"]);
}
最基本的,用for循环遍历行(datarow)
for(int i=0;i<datatableRowsCount;i++)
{
string strValue="";
strValue=datatablerows[i][0]ToString();
//上面就是获取第i行第0列的值,如果要计算的话需要转换类型,如下:
int intValue=0;
int intValue=Int32Parse(datatablerows[i][0]);
//如果是有小数点的数据,如下:
double doubleValue=0;
double doubleValue=doubleParse(datatablerows[i][0]);
}
数据可以取出来,计算就简单了。
如果你想求整列总和的话,可以用Datatable内置的方法:
string strSum = datatableCompute("sum(列名)", "true")ToString(); //类型参照上面自己转,列名要写对,并且确定数据类型是数字。
首先你要确定你的DataTable 里面是有数据的
我不知道你的 Table里面是什么样的数据··ItemArray 返回 object [] 数组
你拿一个object 数组 去 ConverttoInt32()
你不报错我到觉得奇怪了 ··
如果是业务需要··那就要另外来写 toInt32() 对你的需要行不通
他只返回一个数字 而不是 int数组!
一般拿个ConverttoInt32(dtRows[1][2]) 就是这样了!
以上就是关于c#怎样读取DataTable中的数据全部的内容,包括:c#怎样读取DataTable中的数据、怎么获取datatable的所有数据、如何提取DataTable中的某一列字段的所有数据,进行运算等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)