代码之家  ›  专栏  ›  技术社区  ›  Glitch

C#+Excel-如何修复调用工作表时出现的“值不在预期范围内”错误。ExportAsFixedFormat()?

  •  0
  • Glitch  · 技术社区  · 6 年前

    我正在尝试将Excel工作簿中的每张工作表作为单独的PDF打印。但我一直在 System.ArgumentException: 'Value does not fall within the expected range.' 在生产线上 w.ExportAsFixedFormat(...);

    实现这一点的正确语法是什么?

    我使用的代码:

    foreach (Worksheet w in ws.Worksheets)
    {
         var wname = Path.Combine(
             AppDomain.CurrentDomain.BaseDirectory,
             "Export\\" + w.Name + ".pdf"
         );
    
         w.ExportAsFixedFormat(
             XlFixedFormatType.xlTypePDF,
             wname,
             XlFixedFormatQuality.xlQualityStandard,
             true,
             false,
             1,
             w.PageSetup.Pages.Count,
             false,
             false
         );
    }
    

    更新时间: 我应该提到的是,我正在将其用于Office 2013、Microsoft Excel 15.0对象库

    1 回复  |  直到 6 年前
        1
  •  1
  •   George K    6 年前

    查看方法的文档,您的问题可能是最后一个参数。 Workbook.ExportAsFixedFormat Method

    尝试:

    foreach (Worksheet w in ws.Worksheets)
    {
         var wname = Path.Combine(
             AppDomain.CurrentDomain.BaseDirectory,
             "Export\\" + w.Name + ".pdf"
         );
    
         w.ExportAsFixedFormat(
             XlFixedFormatType.xlTypePDF,
             wname,
             XlFixedFormatQuality.xlQualityStandard,
             true,
             false,
             1,
             w.PageSetup.Pages.Count,
             false
         );
    }
    

    (已从方法调用中删除最后一个参数) 如果有效,请告诉我:)