我正在尝试重新创建这样的表:
我正在使用 DocX 库来操作 Word 文件,但我无法正确设置宽度。尝试设置单元格的宽度似乎仅在未设置为窗口自动调整模式时才有效,并且仅在指定宽度大于表格宽度的一半时才似乎调整大小,或者更确切地说,我可以使单元格大于宽度的一半,但不能更小。
重现预期表格的最简单方法是什么?
我正在尝试重新创建这样的表:
我正在使用 DocX 库来操作 Word 文件,但我无法正确设置宽度。尝试设置单元格的宽度似乎仅在未设置为窗口自动调整模式时才有效,并且仅在指定宽度大于表格宽度的一半时才似乎调整大小,或者更确切地说,我可以使单元格大于宽度的一半,但不能更小。
重现预期表格的最简单方法是什么?
我自己找到了答案。为了正确设置宽度,您必须遍历列中的每个单元格并设置每个宽度。这不适用于选择的任何自动调整选项。
尝试这个 :
Table table = doc.AddTable(2, 2);
table.SetColumnWidth(0, 500);
//first is column index, the second is column width
这是这样的:
Table t = doc.AddTable(1, 5);
t.SetWidthsPercentage(new[] { 20f, 20f, 40f, 10f, 10f }, 500);
float 数组设置每列的宽度百分比,第二个参数是表格的总宽度。
有点旧的帖子要标记,但是在遇到同样的问题之后,似乎单元格或列上的宽度都没有实际工作,因此作为一个肮脏的解决方法,您可以循环遍历每一列和单元格,向每个单元格添加文本的单元格,使文本白色,最后使用自动调整选项自动适应内容,例如。
Table t2 = doc.AddTable(2, 8);
for (int i = 0; i < t2.RowCount; i ++)
{
for(int x = 0; x < t2.ColumnCount; x++)
{
t2.Rows[i].Cells[x].Paragraphs.First().Append("12").Color(Color.White);
}
}
t2.AutoFit = AutoFit.Contents;
doc.InsertTable(t2);