我正在尝试导出excel
到pdf
.
我正在使用 C#。
我有一个问题ExportAsFixedFormat
。我的文档有打印区域(在 Excel 应用程序中设置,如果手动发送打印它们可以工作)。但它在我的程序中不起作用。我将 param 设置paramIgnorePrintAreas
为 false,它没有帮助。
public void createXls(){
ApplicationClass excelApplication = new ApplicationClass();
Workbook excelWorkBook = null;
//Worksheet excelWorksheet = null;
excelApplication.ScreenUpdating = false;
excelApplication.Visible = false;
string paramSourceBookPath = @"C:\Temp\Test.xlsx";
object paramMissing = Type.Missing;
string paramExportFilePath = @"C:\Temp\Test.pdf";
XlFixedFormatType paramExportFormat = XlFixedFormatType.xlTypePDF;
XlFixedFormatQuality paramExportQuality = XlFixedFormatQuality.xlQualityStandard;
bool paramOpenAfterPublish = false;
bool paramIncludeDocProps = true;
bool paramIgnorePrintAreas = false;
object paramFromPage = Type.Missing;
object paramToPage = Type.Missing;
try
{
// Open the source workbook.
excelWorkBook = excelApplication.Workbooks.Open(paramSourceBookPath,
false, paramMissing, paramMissing, paramMissing,
paramMissing, paramMissing, paramMissing, paramMissing,
paramMissing, paramMissing, paramMissing, paramMissing,
paramMissing, paramMissing);
// Save it in the target format.
if (excelWorkBook != null)
{
Worksheet excelWorksheet = (Worksheet) excelWorkBook.ActiveSheet;
excelWorksheet.ExportAsFixedFormat(paramExportFormat,
paramExportFilePath, paramExportQuality,
paramIncludeDocProps, paramIgnorePrintAreas, paramFromPage,
paramToPage, paramOpenAfterPublish,
paramMissing);
}
} catch (Exception ex)
{
//richTextBox1.Text=ex.Message.ToString();
}
finally
{
// Close the workbook object.
if (excelWorkBook != null)
{
excelWorkBook.Close(false, paramMissing, paramMissing);
excelWorkBook = null;
}
// Quit Excel and release the ApplicationClass object.
if (excelApplication != null)
{
excelApplication.Quit();
excelApplication = null;
}
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
}
}