2

我在word文档中生成了几个表,我的一个表有更多的列,所以它超出了我的文档页面宽度并且其中的几列不可见,如果我试图设置它的宽度,那么列名在桌子正在收拾

我的目标是:

  1. 无论列数如何,我都希望表格自动适应页面。

  2. 列名不应换行,即列名应显示在单行中。

4

1 回答 1

0

真的没有办法做你想做的事,即通过改变字体大小来适应文本而不换行。
您将不得不手动解决。
您可以做的最大事情是明确指定标题行的高度。你可以这样做:

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

现在您可以尝试更改文本的字体大小以查看它是否合适。不幸的是,这就是你所能做的。

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

建议:您应该将此功能称为不可能。你不想破解单词来做它不应该做的事情。

于 2012-11-16T05:06:04.437 回答