【问题标题】:How to save Excel File as PDF and fit to page如何将 Excel 文件另存为 PDF 并适合页面
【发布时间】:2019-10-01 06:45:15
【问题描述】:

我的任务是创建将 Excel 文件导出为 PDF 的功能,并要求所有列必须适合 1 页。

这是我用来将 excel 文件转换为 pdf 的代码。

xlApp = new Excel.Application();
xlWb = xlApp.Workbooks.Open(textBox3.Text);
xlWb.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, Path.GetDirectoryName(textBox3.Text)+ "\\" + Path.GetFileNameWithoutExtension(textBox3.Text) + ".pdf");

但是当我打开它时,似乎列是分开的,就像我有 10 列一样,它会像第一页中的前 6 列和第二页中的最后 4 列一样拆分。

如何使它适合页面?肖像画也是风景也没关系

【问题讨论】:

  • 您是否使用 Microsoft Interop 或第 3 方进行导出?

标签: c# excel pdf


【解决方案1】:

所以在我做了一些研究之后,这是设置页面方向的方法,你可以适应页面

//setup your page orientation + fit to pages
    xlWs2.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape;
    xlWs2.PageSetup.Zoom = false;
    xlWs2.PageSetup.FitToPagesWide = 1;
    xlWs2.PageSetup.FitToPagesTall = false;
//this is how to save as PDF     
xlWb2.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF,Path.GetDirectoryName(textBox3.Text) + "\\" + Path.GetFileNameWithoutExtension(textBox3.Text) + ".pdf");

P.S :xlWs2 是 excel.Worksheets,xlWb2 是 excel.Workbooks

【讨论】:

    【解决方案2】:

    您可以使用 spire.xls 来转换文件和 PageSetup 以适应您的文件:

    PageSetup setup = worksheet.PageSetup;
    setup.FitToPagesWide = 1;
    setup.FitToPagesTall = 1;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-29
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 2014-01-19
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多