2015-08-11 4 views
1

С ClosedXML Я пытаюсь добавить данные в существующий лист Excel в существующей таблице. Легко сделать это, чтобы добавить таблицу к листу excel ниже, это быстрый пример того, как это сделать. Я не понимаю, что у вас уже есть Стол, который пуст, как вы можете просто добавить к существующей таблице?ClosedXML Добавление данных в существующую таблицу

// Add a DataTable as a worksheet 
      wb.Worksheets.Add(dataTable); 
+0

Я не понимаю ваш вопрос ... что вы называете «пустой стол» в Excel ... (почти) все это таблица в Excel. Не могли бы вы поставить скриншот, было бы намного понятнее –

ответ

3

Чтобы добавить DataTable к существующему использованию рабочего листа этого:

wb.Worksheet(1).Cell(1, 1).InsertTable(dataTable); 

Больше информации в documentation.

+2

Да, это способ добавить новую таблицу к существующему рабочему листу. Моя проблема заключается в том, чтобы заполнить существующую таблицу на этом рабочем листе данными. Каждый раз, когда я заменяю его или добавляю новую таблицу на рабочий лист, она испортит формулы. До сих пор я действительно работал, удаляя весь рабочий лист, создавая новый рабочий лист, добавляя новую таблицу, а не называя рабочий лист и таблицу. Как вы можете визуализировать, это много дополнительного кодирования, которое не нужно делать для достижения этой задачи. хоть – scripter78

1

Я не знаю, как этот вопрос непонятен для людей. Если существует существующая таблица (созданная в Excel, перейдя в «Insert -> Table»), и вы открываете документ Excel с помощью ClosedXML, добавление данных в следующую строку не автоматически расширяет таблицу.

Вы можете расширить его до добавления данных как таковой:

IXLTables tsTables = thisSheet.Tables; 
IXLTable firstTable = tsTables.FirstOrDefault(); 
if (firstTable != null) 
    firstTable.InsertRowsBelow(1); 
Смежные вопросы