MSWord中的表格对齐

时间:2012-11-15 12:32:36

标签: c# ms-word

我在word文档中生成了几个表,我的一个表有更多列,所以它超出了我的文档页面宽度,其中的几列不可见,如果我试图设置其宽度然后列表格中的名字正在结束

我的目标是:

  1. 我希望表格在页面中自动调整,而不管是否 列。

  2. 列名不应该包括在内,即列名 应该以单行显示。

1 个答案:

答案 0 :(得分:0)

实际上没有办法做你想要的事情,即通过改变字体大小来适应文本而不进行包装  你必须手动弄明白 您可以做的最大事情是明确指定标题行的高度。你可以这样做:

           tbl.Rows[1].HeightRule = WdRowHeightRule.wdRowHeightExactly;
           tbl.Rows[1].Height = 14; 

现在,您可以尝试更改文字的字体大小,以确定其是否合适。不幸的是,这就是你所能做的一切。

一个疯狂的想法:你可以尝试创建一个类似这样的公式:
1.创建表后获取列宽 2.计算标题字符串中的字符数 3.阅读您正在使用的字体的规格,并确定每个字母占用的空间大小,以及每个[空格]字符占用的空间。
4.现在,您拥有了所有可用的数据来构建公式,以查看特定单元格的点的字体大小。您必须遍历所有列才能执行此操作 5.从所有计算中选择最小字体大小,并应用于每个标题以保持一致性 话虽这么说,这是一个脆弱的方法,它可能会失败。我怀疑你是否可以让它更紧密地工作。

建议:您应该无法调用此功能。你不想破解文字来做那些不应该做的事情。