C# + Excel - 如何修复 Worksheet.ExportAsFixedFormat() 调用中的 "Value not within expected range" 错误?

C# + Excel - How do I fix "Value not within expected range" error in a call to Worksheet.ExportAsFixedFormat()?

我正在尝试将 Excel 工作簿中的每个 sheet 作为单独的 PDF 打印。但我一直在 w.ExportAsFixedFormat(...);

行收到 System.ArgumentException: 'Value does not fall within the expected range.'

实现此目的的正确语法是什么?

我使用的代码:

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 Object Library

一起使用

查看该方法的文档,您的问题可能是最后一个参数。 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
     );
}

(从方法调用中删除了最后一个参数) 让我知道这是否有效:)