Как динамически изменять имена столбцов таблицы данных с помощью Interop Excel в C # - PullRequest
0 голосов
/ 25 июня 2019

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 ... Я очень младший в коде, пожалуйста, помогите мне .... большое спасибо заранее

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];

                }

            }

1 Ответ

0 голосов
/ 25 июня 2019

Итак, вы пытаетесь удалить "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);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...