• DataTable 几个扩展小功能


    1.去除datatable 里面的空行数据。 

    public static void RemoveNullOrEmptyRows(this DataTable table)
            {
                List removelist = new List();
                for (int i = 0; i < table.Rows.Count; i++)
                {
                    bool rowdataisnull = true;
                    for (int j = 0; j < table.Columns.Count; j++)
                    {
                        if (!string.IsNullOrEmpty(table.Rows[i][j].ToString().Trim()))
                        {
                            rowdataisnull = false;
                        }
                    }
                    if (rowdataisnull)
                    {
                        removelist.Add(table.Rows[i]);
                    }
                }
                for (int i = 0; i < removelist.Count; i++)
                {
                    table.Rows.Remove(removelist[i]);
                }
            }

    2.去除datatable 里面column 为英文的列

        public static void RemoveEnglishUseListColumns(this DataTable table)
            {
                List removeNames = new List();
                foreach (DataColumn item in table.Columns)
                {
                    if (Regex.Matches(item.ColumnName, "[a-zA-Z]").Count > 0)
                    {
                        removeNames.Add(item.ColumnName);
                    }
                }
                foreach (string removeName in removeNames)
                {
                    table.Columns.Remove(removeName);
                }
            }

    3.datatable column 中英文对照

         public static DataTable ColumnMapping(this DataTable table,IDictionary columnMappings,List exceptColumns = null)
            {
                if(exceptColumns != null)
                {
                    foreach (string item in exceptColumns)
                    {
                        table.Columns.Remove(item);
                    }
                }
                foreach (var item in columnMappings)
                {
                    if (table.Columns.Contains(item.Key))
                    {
                        table.Columns[item.Key].ColumnName = item.Value;
                    }
                }
                return table;
            }

    具体使用方式。

    table.ColumnMapping(FieldConfiguration.FieldDescription()).RemoveEnglishUseListColumns()

  • 相关阅读:
    Microsoft Fabric 是什么?
    云打印为什么这么便宜?
    策略模式【Java设计模式】
    jenkins升级版本遇到的问题
    Splashtop 的卓越安全性获得 ISO 27001 认证
    博客摘录「 dubbo默认超时设置容易引发的问题(默认1秒)」2023年9月23日
    公司如何对电脑软件进行统一管理?
    Linux上Docker的安装以及作为非运维人员应当掌握哪些Docker命令
    LeetCode209长度最小子数组
    计算机图形学(八)-纹理映射、计算重心坐标、UV插值、双线性插值、MipMap
  • 原文地址:https://blog.csdn.net/xiaosachuchen/article/details/126787065