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
);
}
(从方法调用中删除了最后一个参数)
让我知道这是否有效:)
我正在尝试将 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
);
}
(从方法调用中删除了最后一个参数) 让我知道这是否有效:)