We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Word文件里的表格,如何设置多行表头


@847834757 您应该简单地为应作为标题行重复的每一行指定 RowFormat.HeadingFormat。 例如看下面的代码:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.StartTable();
for (int i = 0; i < 3; i++)
{
    builder.InsertCell();
    builder.CellFormat.Width = 200;
    builder.Font.Bold = true;
    builder.Write("This is multirow table header");
    builder.RowFormat.HeadingFormat = true;
    builder.EndRow();
}

for (int i = 0; i < 50; i++)
{
    builder.InsertCell();
    builder.CellFormat.Width = 200;
    builder.Font.Bold = false;
    builder.Write("This is table's main content.");
    builder.RowFormat.HeadingFormat = false;
    builder.EndRow();
}

builder.EndTable();

doc.Save(@"C:\Temp\out.docx");

您好!我这个不是模板,而是从html文件转换成word文件,已经填充好的数据。并不能按照你的方法去重新生成一个表格 :slightly_frowning_face:。我只能去识别表格的头部标题。但是表格的头部标题有的是单行表头,有的是多行表头。

@847834757 在这种情况下,您应该简单地为应被视为标题行的每一行设置RowFormat.HeadingFormat

此外,您可以使用 <thead> 标记将这些行标记为 HTML 中的标题行,如下所示:

<table>
    <thead>
        <tr>
            <td>This is header</td>
            <td>This is header</td>
            <td>This is header</td>
        </tr>
        <tr>
            <td>This is header</td>
            <td>This is header</td>
            <td>This is header</td>
        </tr>
    </thead>
    <tr>
        <td>This regular data</td>
        <td>This regular data</td>
        <td>This regular data</td>
    </tr>
    <tr>
        <td>This regular data</td>
        <td>This regular data</td>
        <td>This regular data</td>
    </tr>
    <tr>
        <td>This regular data</td>
        <td>This regular data</td>
        <td>This regular data</td>
    </tr>
</table>

在这种情况下,Aspose.Words 将在导入 HTML 时为此类行指定 RowFormat.HeadingFormat 标志。