【问题标题】:DataTable operations数据表操作
【发布时间】:2015-08-25 16:54:04
【问题描述】:

我已经使用 OleDB 连接加载了一个 excel 文件。该代码将 excel 文件加载到 DataGridView。现在我想使用这个数据表的值,比如说求和,乘以所有行或列。在网上我只发现了这样做的静态方法:

object 1 = DATATABLE.Compute("sum(NameOfTable)", "").ToString();

但是由于我加载不同的excel文件,我需要一种更真实的方式。我尝试了几种不同的方法 - 将值添加到 List 或 Array 但它似乎不起作用。我怎样才能做到这一点?

【问题讨论】:

  • “静态方法”是什么意思?
  • 只有当我知道列的确切名称时它才会起作用。

标签: c# .net datatable


【解决方案1】:

您只需要遍历数据列

  List<string> l=new List<String>();
            foreach (DataColumn dc in table.Columns)
            {
              var Sum= table.AsEnumerable().Sum(x => x.Field<double>(dc));
              l.Add(Sum.ToString());
            }

您可能需要检查 datacolumn 是否为 null 并且是否包含数字类型,否则强制转换将引发异常。 Here is a solution to check if datacolumn is numeric

【讨论】:

    猜你喜欢
    • 2019-11-21
    • 1970-01-01
    • 2013-09-26
    • 2015-10-30
    • 2019-08-12
    • 2019-04-07
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多