6

ヘッダー付きのテーブルを作成しようとしています。テーブルが取る新しいページごとにこのヘッダーを繰り返したいと思います。C# および OpenXml ワードプロセッシングでこれを行うにはどうすればよいですか?

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

4 に答える 4

7

Chris が言ったように、TableHeader クラスのインスタンスが必要です。ヘッダー行の TableRowProperties に追加する必要があります。

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

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

row.TableRowProperties.AppendChild(new TableHeader());
于 2012-06-27T05:10:59.233 に答える
4

同じ問題を探している人のために:

以下のコードは、TablePropertiesRow としてヘッダー行に適用する必要があります。

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

tblHeaderRow.AppendChild<TableRowProperties>(tblHeaderRowProps);

でっ!

于 2015-08-06T13:44:27.897 に答える
0

ページ内のすべてのテーブルのヘッダーを作成します。複数のボディを作成してドキュメントに追加する必要があります。

すべてのテーブルに新しいヘッダーを作成する場合は、すべてのテーブルを新しい本文に追加してから改ページを適用する必要があります。

最後に、すべての本文をドキュメントに追加します。

その後、最終的に結果が作成されたドキュメントになります。

疑問がある場合は、私に返信してください。

よろしく、バラジ

于 2014-03-27T12:09:14.190 に答える
0

これがあなたが探しているものだと思います。その要素を特定の行に適用すると、説明したとおりに動作します。

于 2011-09-07T20:36:43.467 に答える