【问题标题】:How to change data table column names dynamically using interop excel in c#如何在c#中使用interop excel动态更改数据表列名
【发布时间】:2019-06-25 13:29:17
【问题描述】:

https://i.stack.imgur.com/7RBox.jpg

上图显示了我想要的,我希望删除所有列名称的前缀部分,例如 ,WK1-600,WK1-700,WK1-800....WK2-600,WK2-700,WK2-800... .WK3-600,WK3-700,WK4-800....WK4-600,WK4-700,WK4-800 等然后交替移除 600, 700, 800。

我正在尝试下面的代码,但我不知道如何在 interop excel 中正确修复它...我在编码方面非常 jr 请帮助我...提前非常感谢

foreach (DataColumn column in ds.Tables[0].Columns)
            {

                string colname = column.ColumnName;

                if (colname == "Retailer" || colname == "Brand") ;

                else
                {

                    ds.Tables[0].Columns[colname].ColumnName = "WK" + colname.split('-')[0];

                }

            }

【问题讨论】:

    标签: c# sql excel


    【解决方案1】:

    因此,您正在尝试从列名中删除“WK”。这是正确的吗? 如果这是您的意图,下面的示例会有所帮助

    void Main()
    {
    //init. table 
    System.Data.DataTable tbl = new DataTable();
    tbl.Columns.AddRange(new DataColumn[] {new DataColumn("Retailer"),
    new DataColumn("Brand"),
    new DataColumn("WK1-600"),
    new DataColumn("WK2-700"),new DataColumn("WK3-800")});
    
    //go over columns and rename
    foreach (DataColumn dc in tbl.Columns)
    {
        if(dc.ColumnName.Contains("WK")){
            dc.ColumnName = dc.ColumnName.Split('-')[1];
        }
    }
    
    //verifiyng the result
      foreach (DataColumn dc in tbl.Columns)
      {
    
            Console.WriteLine(dc.ColumnName);
      }
    }
    

    【讨论】:

    • 非常感谢...但是如果我想删除列名中的所有数字,放在 ('-') 之后,那我该怎么办?...请您帮忙
    • 只需替换 dc.ColumnName = dc.ColumnName.Split('-')[1]; with dc.ColumnName = dc.ColumnName.Split('-')[0];名称将是“WK1”、“WK2”等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 2021-10-10
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多