C # + Excel - Как исправить ошибку «Значение не в ожидаемом диапазоне» при вызове Worksheet.ExportAsFixedFormat ()? - PullRequest
0 голосов
/ 16 мая 2018

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

0 голосов
/ 16 мая 2018

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

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

...