NPOIC#将列设置为适合一页

c#

我在我的 C# 应用程序中使用 NPOI 版本 2.5.3 并尝试设置缩放选项(在 1 页上适合所有列)。从这里和这里的这些问题中,这似乎很容易做到。

问题:

因此,使用下面的代码时会出现我的问题。所做的只是配置;适合一页的宽度和高度。我认为这是因为sheet.FitToPage = true

private void SetPrintSettings(XSSFSheet sheet)
{
    sheet.SetMargin(MarginType.BottomMargin, 0.5);
    sheet.SetMargin(MarginType.TopMargin, 0.5);
    sheet.SetMargin(MarginType.LeftMargin, 0.45);
    sheet.SetMargin(MarginType.RightMargin, 0.45);
    sheet.SetMargin(MarginType.HeaderMargin, 0.3);
    sheet.SetMargin(MarginType.FooterMargin, 0.3);

    sheet.Autobreaks = true; //auto breaks
    sheet.FitToPage = true;  //THIS SETS IT TO ALL FIT ON ONE PAGE

    var PrintSetup = sheet.PrintSetup;
    PrintSetup.FitWidth = 1; //fit width onto 1 page
    PrintSetup.FitHeight = 0; //don't care about height
    PrintSetup.Landscape = true;
    PrintSetup.PaperSize = 3; //paper size 11x17
}

执行上面的代码时,我在 Excel 中得到以下输出。

所以在那之后没有工作,我尝试将其设置为 false ,如下所示。

 private void SetPrintSettings(XSSFSheet sheet)
 {
    sheet.SetMargin(MarginType.BottomMargin, 0.5);
    sheet.SetMargin(MarginType.TopMargin, 0.5);
    sheet.SetMargin(MarginType.LeftMargin, 0.45);
    sheet.SetMargin(MarginType.RightMargin, 0.45);
    sheet.SetMargin(MarginType.HeaderMargin, 0.3);
    sheet.SetMargin(MarginType.FooterMargin, 0.3);

    sheet.Autobreaks = true; //auto breaks
    sheet.FitToPage = false; 

    var PrintSetup = sheet.PrintSetup;
    PrintSetup.FitWidth = 1; //fit width onto 1 page
    PrintSetup.FitHeight = 0; //don't care about height
    PrintSetup.Landscape = true;
    PrintSetup.PaperSize = 3; //paper size 11x17
}

当更改配置时,它呈现“无缩放”,如下所示。

无论我尝试什么,我似乎都无法让它发挥作用。我尝试了各种设置,但似乎没有任何效果。我开始认为这是我使用的版本的错误。我发现的几乎所有示例都是针对 Java POI 的,所以我不确定这是否只是方法问题,这无济于事。

期望输出:

以下是我正在尝试做的事情。只需将缩放选项设置为使列适合 1 页。如果有人可以帮助我或为我指明正确的方向,那就太棒了。

以上是NPOIC#将列设置为适合一页的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>