如何在打开的xml中将我的表格放在word文档的中间?
这是我的代码,我想在中间对齐表格。
这是我的代码。我试图使用TableJustification,但它似乎无法正常工作
using (WordprocessingDocument wordDoc = WordprocessingDocument.Create(filepath, WordprocessingDocumentType.Document))
{
MainDocumentPart mainPart = wordDoc.AddMainDocumentPart();
mainPart.Document = new Document();
Body body = mainPart.Document.AppendChild(new Body());
Run run = new Run();
// Goes through all of the forms
foreach (var form in forms)
{
Table table = new Table();
// Initialize all of the table properties
TableProperties tblProp = new TableProperties(
new TableBorders(
new TopBorder() { Val = new EnumValue<BorderValues>(BorderValues.BasicBlackSquares), Size = 16 },
new LeftBorder() { Val = new EnumValue<BorderValues>(BorderValues.BasicBlackSquares), Size = 16 },
new RightBorder() { Val = new EnumValue<BorderValues>(BorderValues.BasicBlackSquares), Size = 16 },
new BottomBorder() { Val = new EnumValue<BorderValues>(BorderValues.BasicBlackSquares), Size = 16 }
)
);
// Align the table to the center
TableJustification justs_center = new TableJustification() { Val = _____ };
table.AppendChild(justs_center);
table.AppendChild<TableProperties>(tblProp);
Paragraph para = body.AppendChild(new Paragraph());
Run run_header = para.AppendChild(new Run());
RunProperties runProps = run_header.AppendChild(new RunProperties(new Bold()));
string username = form.Username;
string proces_header = form.HeaderTitle;
run_header.AppendChild(new Text(proces_header + " | " + username));
for (int i = 0; i < form.FieldList.Count; i++)
{
if (!(form.FieldList[i].Token == "USR" || form.FieldList[i].Token == "SNT"))
{
TableRow tr = new TableRow();
TableCell header_cell = new TableCell();
header_cell.Append(new Paragraph(new Run(new Text(form.FieldList[i].Label + ": " + form.FieldList[i].Value))));
tr.Append(header_cell);
table.Append(tr);
}
}
wordDoc.MainDocumentPart.Document.Body.Append(table);
}
mainPart.Document.Save();
wordDoc.Close();
return "Success";
}
}
答案 0 :(得分:3)
Table t = new Table(
new TableProperties(
...
new TableJustification() { Val = TableRowAlignmentValues.Center},
...),
new TableRow(...),
);
答案 1 :(得分:0)
尝试使用接受的答案将表格置于中心位置似乎不起作用。我需要将中心对齐应用于所有行
<div id="textBoxFirebase">
<form>
Firebase Data<br>
<textarea rows="4" cols="50" id="textAreaFirebase"></textarea>
</form>
</div>
使用Open XML Productivity Tool
找到答案 2 :(得分:0)
实际上,您只需要将居中对齐应用于 TableRowProperties 中的所有行。即使您不在 TableProperties 中应用对齐方式,表格仍将居中。如果有人知道,我很想知道在 TableRowProperties 中进行论证的目的是什么。