【问题标题】:How to ignore the automatic page breaks?如何忽略自动分页符?
【发布时间】:2016-09-02 21:31:50
【问题描述】:

我正在使用 Excel 互操作来创建报告。

我正在尝试以编程方式设置分页符。我已经成功地这样做了:

        this.ActiveWorksheet.HPageBreaks.Add(this[row + 1, 9].Range);
        this.ActiveWorksheet.VPageBreaks.Add(this[row + 1, 8].Range);

(this[row...col] 代码指的是我们的基本 Excel 生成器,但最终指的是具有给定列/行的范围)。

当报告生成时,我可以看到我手动添加的分页符;但是自动分页符仍然出现并且它们位于错误的位置,因此最终这使我的代码无用。我只需要使用我的分页符并忽略自动分页符。

有可能吗?

我尝试重置分页符无济于事。我还尝试在工作表页面设置属性上设置 FitToPagesWide 属性,但没有成功。

【问题讨论】:

  • 这很奇怪。使用与您相同的代码,Excel 根据要求设置了我的分页符,并且仅在手动分页符之外开始自动分页符(即在手动分页符覆盖的范围内没有自动分页符)。您使用的是什么版本的 Excel?也许查看更多代码可能会有所帮助。
  • 多么奇怪。我的代码逐个单元格地将数据推入 Excel 工作簿 - 除了设置范围值之外没有什么特别的,然后我在必要时调用这些行。

标签: c# excel excel-interop


【解决方案1】:

我通过设置解决了这个问题

PageSetup.Zoom = false;

在设置 FitToPagesWide = 1 之前

似乎除非您将缩放显式设置为 false,否则 FitToPagesWide/Tall 属性将被忽略。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-13
    • 2017-06-12
    • 2016-04-14
    • 1970-01-01
    • 2011-12-20
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多