我在word文档中生成了几个表,我的一个表有更多列,所以它超出了我的文档页面宽度,其中的几列不可见,如果我试图设置其宽度然后列表格中的名字正在结束
我的目标是:
我希望表格在页面中自动调整,而不管是否 列。
列名不应该包括在内,即列名 应该以单行显示。
答案 0 :(得分:0)
实际上没有办法做你想要的事情,即通过改变字体大小来适应文本而不进行包装 你必须手动弄明白 您可以做的最大事情是明确指定标题行的高度。你可以这样做:
tbl.Rows[1].HeightRule = WdRowHeightRule.wdRowHeightExactly;
tbl.Rows[1].Height = 14;
现在,您可以尝试更改文字的字体大小,以确定其是否合适。不幸的是,这就是你所能做的一切。
一个疯狂的想法:你可以尝试创建一个类似这样的公式:
1.创建表后获取列宽
2.计算标题字符串中的字符数
3.阅读您正在使用的字体的规格,并确定每个字母占用的空间大小,以及每个[空格]字符占用的空间。
4.现在,您拥有了所有可用的数据来构建公式,以查看特定单元格的点的字体大小。您必须遍历所有列才能执行此操作
5.从所有计算中选择最小字体大小,并应用于每个标题以保持一致性
话虽这么说,这是一个脆弱的方法,它可能会失败。我怀疑你是否可以让它更紧密地工作。
建议:您应该无法调用此功能。你不想破解文字来做那些不应该做的事情。