Я использую OpenXML SDK с Word для создания этикеток.Базовый документ Word имеет одну страницу с таблицей, две строки и две ячейки, где каждая ячейка представляет одну метку.Я планировал добавлять страницы по мере необходимости в зависимости от размера набора результатов SQL.Добавление страницы работает, но количество таблиц в теле не изменяется.Есть ли способ обновить массив элементов?Я полагаю, что могу получить размер набора результатов и добавить необходимое количество страниц, затем закрыть и снова открыть документ, но я предполагаю, что упускаю что-то простое.
Сообщено о неправильной проблеме извините, документ выглядел правильно в Word, но не в инструменте повышения производительности.Я обновил код, чтобы показать мою последнюю попытку.Теперь iTest сообщает правильное количество таблиц, но в инструменте повышения производительности добавленные таблицы помечены как OpenXmlUnknownElement .
for (int i = 0; i < pages; ++i)
{
Table table = new Table(doc.MainDocumentPart.Document.Body.Elements<Table>().First().CloneNode(true));
doc.MainDocumentPart.Document.Body.Append(table);
}
int iTest = doc.MainDocumentPart.Document.Body.Elements<Table>().Count();
, xml показывает, что было сгенерировано дополнительно <w:tbl>
:
<w:tbl xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:tbl>
<w:tblPr>
<w:tblStyle w:val="TableGrid" />
Таким образом, реальный вопрос заключается в том, как скопировать и вставить таблицу с помощью OpenXML SDK?