Member 14376506 Ответов: 1

Как разделить три одиночных столбца на один большой столбец?


У меня есть этот тип данных в моем Datatable. Представьте себе, что ("2019_WK1", "2019_WK2", "2019_WK3") - это три имени столбцов, и поэтому мне нужно разделить 2019(год) в одной большой объединенной ячейке (верхние ячейки столбцов "WK1", "WK2", "WK3") в C#.

использование Excel = Microsoft.Офис.Взаимодействие.Превосходить;

Ниже приведен мой код datatable:

Превосходить.Приложение xlApp;
Превосходить.Рабочая тетрадь xlWorkBook;
Превосходить.Рабочий лист xlWorkSheet;
неверное значение объекта = система.Отражение.Недостающий.Ценность;
Превосходить.ChartRange спектр ;

xlApp = новый Excel.Приложение();
xlWorkBook = xlApp.Workbooks.Добавить(неверное значение);
xlWorkSheet = (Excel.Рабочий лист)xlWorkBook.Worksheets.get_Item(1);

//добавить данные
xlWorkSheet.Ячейки[1, 1] = "Розничный Торговец";
xlWorkSheet.Ячейки[1, 2] = "Марка";
xlWorkSheet.Ячейки[1, 3] = "2019_WK1";
xlWorkSheet.Ячейки[1, 4] = "2019_WK2";
xlWorkSheet.Ячейки[1, 5] = "2019_WK3";


xlWorkSheet.Ячейки[2, 1] = "Лулу";
xlWorkSheet.Ячейки[2, 2] = "Перисил";
xlWorkSheet.Ячейки[2, 3] = "25";
xlWorkSheet.Ячейки[2, 4] = "26";
xlWorkSheet.Ячейки[2, 5] = "23";

xlWorkSheet.Ячейки[3, 1] = "Лулу";
xlWorkSheet.Ячейки[3, 2] = "Ариэль";
xlWorkSheet.Ячейки[3, 3] = "26";
xlWorkSheet.Ячейки[3, 4] = "28";
xlWorkSheet.Ячейки[3, 5] = "29";

xlWorkSheet.Ячейки[4, 1] = "Дунай";
xlWorkSheet.Ячейки[4, 2] = "Омо";
xlWorkSheet.Ячейки[4, 3] = "27";
xlWorkSheet.Ячейки[4, 4] = "28";
xlWorkSheet.Ячейки[4, 5] = "30";

xlWorkSheet.Ячейки[5, 1] = "Дунай";
xlWorkSheet.Ячейки[5, 2] = "Прилив";
xlWorkSheet.Ячейки[5, 3] = "24";
xlWorkSheet.Ячейки[5, 4] = "23";
xlWorkSheet.Ячейки[5, 5] = "29";

xlWorkSheet.Ячейки[6, 1] = "Бин Дауд";
xlWorkSheet.Ячейки[6, 2] = "Перисил";
xlWorkSheet.Ячейки[6, 3] = "26";
xlWorkSheet.Ячейки[6, 4] = "27";
xlWorkSheet.Ячейки[6, 5] = "28";

xlWorkBook.Савеас("d:\\csharp.net-informations.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Недалеко(правда, misValue, misValue);
xlApp.Бросить();

releaseObject(xlApp);
releaseObject(xlWorkBook);
releaseObject(xlWorkSheet);

Ящик для сообщений.Show("файл создан !");
}

Что я уже пробовал:

Мне нужны вот такие колонки

____________________________
| 2019 |
|___________________________|
| WK1 l WK2 l WK3 |
|________л________л_________|
| 25 | 26 | 23 |
| 27 | 29 | 24 |
___24________25_______22_____

Mohibur Rashid

Вы пробовали регулярное выражение?

Member 14376506

Я не знаю о регулярном выражении, на самом деле я хочу сделать это под циклами

1 Ответов

Рейтинг:
2

Stefan_Lang

Если я правильно вас понял, вы хотите объединить заголовок над тремя вашими столбцами. На этот вопрос был дан ответ здесь: Слияние ячеек в Excel с помощью C# - Stack Overflow[^]


Member 14376506

Но я хочу сначала разделить его(три столбца), а после этого объединить в одну большую ячейку с именем(2019), но как разделить

Stefan_Lang

Вы не можете разбить столбец, вы можете только вставить новые столбцы до или после существующих.

Member 14376506

можете ли вы выслать мне ссылку про несколько таблиц экспорта данных в Excel

Stefan_Lang

Эм ... нет. Например, в последний раз я делал программу, подключенную к Excel, в 90-е годы. Во-вторых, я использовал COM/OLE2 для этой цели. 3. Ваш запрос настолько неясен/неспецифичен, насколько это возможно. Вам лучше самому поискать его в Google и подобрать ссылки, которые имеют отношение к тому, что вы имеете в виду.