@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文件,已经填充好的数据。并不能按照你的方法去重新生成一个表格 。我只能去识别表格的头部标题。但是表格的头部标题有的是单行表头,有的是多行表头。
@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
标志。