Как создать заголовок в таблице для каждой новой страницы с помощью OpenXml Wordprocessing - PullRequest
5 голосов
/ 08 сентября 2011

Я пытаюсь создать таблицу с заголовком. Я хочу, чтобы этот заголовок повторялся для каждой новой страницы, которую занимает таблица. Как я могу сделать это в C # и OpenXml Wordprocessing?

DocumentFormat.OpenXml.Packaging.WordprocessingDocument internalDoc = 
DocumentFormat.OpenXml.Packaging.WordprocessingDocument.Open(stream, true);

var tables = wordDoc.MainDocumentPart.Document.Descendants<SdtBlock>().Where
( r => r.SdtProperties.GetFirstChild<Tag>().Val.Value.StartsWith(DATA_TABLE_TAG));

Table table = tables.Descendants<Table>().Single();
//Here can I set some property to repeat the header of the table? 

Ответы [ 4 ]

7 голосов
/ 27 июня 2012

Как сказал Крис, вам нужен экземпляр класса TableHeader. Он должен быть добавлен в TableRowProperties строки заголовка:

var row = table.GetFirstChild<TableRow>();

if (row.TableRowProperties == null)
    row.TableRowProperties = new TableRowProperties();

row.TableRowProperties.AppendChild(new TableHeader());
3 голосов
/ 06 августа 2015

Для тех, кто ищет ту же проблему:

Код ниже должен применяться к строке заголовка, как TablePropertiesRow

TableRowProperties tblHeaderRowProps = new TableRowProperties(
    new CantSplit() { Val = OnOffOnlyValues.On },
    new TableHeader() { Val = OnOffOnlyValues.On }
);

tblHeaderRow.AppendChild<TableRowProperties>(tblHeaderRowProps);

Deww !!

0 голосов
/ 27 марта 2014

Для создания заголовка для каждой таблицы на странице. Вам нужно создать несколько тел и добавить к документу.

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

Наконец, добавьте все тела к документу.

Тогда, наконец, ваш результат в созданном документе.

Если есть сомнения, ответьте мне.

С уважением, Баладжи

0 голосов
/ 08 сентября 2011

Я думаю это - это то, что вы ищете.Если вы примените этот элемент к определенной строке, он будет вести себя так, как вы описываете.

...