Abu Aamir Ahmad Ответов: 2

Как динамически изменять имена столбцов таблицы данных с помощью interop excel на языке C#


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 попеременно.

Я пытаюсь ниже код, но я не знаю, как исправить это correclty в 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];
      }
  }

BillWoodruff

Вы действительно хотите, чтобы все имена столбцов были "WK" ? Вот что подразумевают ваше описание и код.

2 Ответов

Рейтинг:
2

Maciej Los

Не уверен, чего вы хотите добиться, потому что заголовки столбцов не изменились.
Предполагая, что вы хотите добавить строки на основе имен столбцов, вы можете использовать что-то вроде этого:

DataTable dt = ds.Tables[0]; 
dt.Columns.AddRange(names.Select(x=>new DataColumn(x)).ToArray());

var row2 =  dt.Columns.Cast<DataColumn>()
		.Select(c=>c.ColumnName.Split('-')[0])
		.ToArray();
var row1 =  dt.Columns.Cast<DataColumn>()
		.Select(c=>c.ColumnName.Split('-')[1])
		.ToArray();
dt.Rows.Add(row1);		
dt.Rows.Add(row2);


Результат:
WK1-600 WK1-700 WK1-800 WK2-600 WK2-700 WK2-800 WK3-600 WK3-700 WK3-800 WK4-600 WK4-700 WK4-800
600     700     800     600     700     800     600     700     800     600     700     800 
WK1     WK1     WK1     WK2     WK2     WK2     WK3     WK3     WK3     WK4     WK4     WK4 


Рейтинг:
1

Gerry Schmitz

Просто удалите "старую" строку и вставьте новую с нужными вам значениями.

Как добавить новую строку в файл excel в C# - Stack Overflow[^]


BillWoodruff

Мой голос № 1: вопрос заключается в изменении заголовков столбцов, не имеет ничего общего со строками.