1

我有这段代码来设置各种打印选项:

private void ConfigureByCustomerForPrinting()
{
    _xlSheet.PageSetup.PrintArea = "A1:" + 
        GetExcelTextColumnName(
            _xlSheet.UsedRange.Columns.Count) + 
            _xlSheet.UsedRange.Rows.Count;
    _xlSheet.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape;
    _xlSheet.PageSetup.FitToPagesWide = 1;
    _xlSheet.PageSetup.FitToPagesTall = 100;
    _xlSheet.PageSetup.Zoom = false;

    _xlSheet.PageSetup.LeftMargin = _xlApp.Application.InchesToPoints(0.5);
    _xlSheet.PageSetup.RightMargin = _xlApp.Application.InchesToPoints(0.5);
    _xlSheet.PageSetup.TopMargin = _xlApp.Application.InchesToPoints(0.5);
    _xlSheet.PageSetup.BottomMargin = _xlApp.Application.InchesToPoints(0.5);
    _xlSheet.PageSetup.HeaderMargin = _xlApp.Application.InchesToPoints(0.5);
    _xlSheet.PageSetup.FooterMargin = _xlApp.Application.InchesToPoints(0.5);
}

生成工作表时,它尊重横向值,但如下所示:

在此处输入图像描述

...虽然宽度(宽)和高度(高)分别设置为 1 和 100,但这不是选中的单选按钮。相反,设置并选择了“调整到 - % 正常大小”。为什么?我认为这可能很好,但用户希望将其设置为 1 和 100。

4

1 回答 1

3

您需要将Zoom属性设置为false之前的集合FitToPagesWideFitToPagesTall

_xlSheet.PageSetup.Zoom = false;
_xlSheet.PageSetup.FitToPagesWide = 1;
_xlSheet.PageSetup.FitToPagesTall = 100;

来自 MSDN:

如果 Zoom 属性为 True,则忽略 FitToPagesWide 属性。

如果 Zoom 属性为 True,则忽略 FitToPagesTall 属性。

于 2016-03-09T22:29:46.857 回答