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
);
}
(Удален последний параметр из вызова метода) Дайте мне знать, если это работает:)