C# + Excel - Как исправить ошибку "Значение не в ожидаемом диапазоне" при вызове Worksheet.ExportAsFixedFormat()?

Я пытаюсь распечатать каждый лист в книге 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 ответ

Решение

Глядя на документы метода, ваша проблема может быть последним параметром. Workbook.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
     );
}

(Удален последний параметр из вызова метода) Дайте мне знать, если это работает:)

Другие вопросы по тегам