Interop - Excel到Word复制 - 缩小表格宽度以适合Word文档页面宽度

时间:2016-09-09 09:17:13

标签: c# ms-word interop office-interop

我正在将一个单元格区域从Excel复制到Word,其中包含多个表格。 我需要将我的文档设置为纵向。问题是复制的表格宽度大于Word文档页面的宽度。所以我只能看到表的一部分,另一部分没有看到Word文档,因此无法看到它。

创建Word文档后,我可以手动缩小表格宽度以适合Word文档页面宽度。如何以编程方式使用Office Interop实现这一目标?

document.PageSetup.PageWidth = (float)500对我不起作用。 我看到有一个属性为AutoFitBehaviorWord.WdAutoFitBehavior.wdAutoFitWindow,但不确定它如何应用于Word文档。

对此有何帮助?

1 个答案:

答案 0 :(得分:0)

当你在问题体中提出一些问题时,我可以回答其中的一些问题:

  

我需要将我的文档设置为肖像:

您应该插入分节符,然后更改方向:

doc.Words.Last.InsertBreak(Wd.WdBreakType.wdSectionBreakNextPage);
doc.Sections.Last.PageSetup.Orientation = orientation;

或在创建文档后设置方向

doc.PageSetup.Orientation = WdOrientation.wdOrientLandscape;
  

创建Word文档后,我可以手动缩小表格宽度以适合Word文档页面宽度。如何以编程方式使用Office Interop实现这一目标?

在将类型设置为wdPreferredWidthPercent后,您只需将PreferredWidth设置为100%:

table.PreferredWidthType = Wd.WdPreferredWidthType.wdPreferredWidthPercent;
table.PreferredWidth = 100.0f;
  

我看到有一个属性AutoFitBehaviorWord.WdAutoFitBehavior.wdAutoFitWindow但不确定如何将其应用于Word文档:

您可以像这样使用AutoFitBehavior

table.AllowAutoFit = true;
table.AutoFitBehavior(Wd.WdAutoFitBehavior.wdAutoFitWindow);