EPPlus C # Экспорт данных в Excel. Данные таблицы перезаписывают Namebox вместо «Вставить» и сохраняют другие ячейки - PullRequest
0 голосов
/ 01 октября 2019

Я использую библиотеку EPPlus C # для создания файла Excel. Шаблон Excel должен быть заполнен данными SQL Server, которые поступают в DataTable. Файл шаблона использует NameBoxes, данные заполняются в этих полях. Проблема в том, что, например. У меня есть имя в позиции A1 enter image description here

и еще одно имя в позиции B1

enter image description here

, когда A1заполнен одной строкой данных .. это нормально. Но если данные в А1 имеют несколько строк, они перезаписывают имя «А2» (имя «А2» исчезает).

enter image description here

Поле имени в A2 должно быть смещено вниз до A6.

enter image description here

(То же поведение мы наблюдаем при выполнении «Вставки» в ячейке, которая сдвигает другие ячейки вперед вместо их перезаписи).

Ответы [ 2 ]

1 голос
/ 01 октября 2019

А как насчет метода Insert из коллекции Rows?

// Insert row at the 4the position.
worksheet.Rows.Insert(3);
0 голосов
/ 01 октября 2019

Я решил это, вставив новые строки, используя следующую логику:

   // Get current cell's address
                            string oldAddress = nameBox.Start.Address;
                            // insert new rows in worksheet to preserve other nameboxes
                            nameBox.Worksheet.InsertRow(nameBox.Start.Row, dt.Rows.Count);
                            // move to old address
                            nameBox.Address = oldAddress;

                            // Fill Name box with Datatable
                            nameBox.LoadFromDataTable(dt, printHeaders);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...