Excel 2013 COM API将服务帐户下的ExportAsFixedFormat挂起

我有一个.NET Windows服务调用Excel 2013 COM API来导出PDF上的Excel文档,我已经试过这个代码与Windows服务运行在两个不同的域帐户,运行代码的机器上的本地pipe理员。 在我login到机器的个人帐户下,代码按预期执行。 在服务帐户下,这是一个活动目录帐户,没有login到机器的Excel文档被打开,但导出逻辑从不返回,当我停止服务时,服务打开的Excel实例保持打开状态。

这是我正在使用的代码:

object paramMissing = Type.Missing; 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; Workbook excelWorkBook = null; try { // Open the source workbook. excelWorkBook = excelApplication.Workbooks.Open(file, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing, paramMissing); // Save it in the target format. if (excelWorkBook != null) excelWorkBook.ExportAsFixedFormat(paramExportFormat, Directory.PdfDirectory + directoryName + @"\"+ Path.GetFileName(file).Replace(".xlsx", ".pdf"), paramExportQuality, paramIncludeDocProps, paramIgnorePrintAreas, paramFromPage, paramToPage, paramOpenAfterPublish, paramMissing); } catch (Exception) { throw; } finally { // Close the workbook object. if (excelWorkBook != null) { excelWorkBook.Close(false, paramMissing, paramMissing); excelWorkBook = null; } }