Microsoft Excel не может получить доступ к файлу в Windows Server 2012

Я запускаю пакет служб SSIS, содержащий скрипт C #, который форматирует файл Excel наWindows Server 2012 R2.

Когда я запускаю пакет, он дает мне эту ошибкуMicrosoft Office Excel не может получить доступ к файлу «\\ FolderPath \ FilePath»

Я видел этот вопросMicrosoft Office Excel не может получить доступ к файлу 'c: \ inetpub \ wwwroot \ Timesheet \ App_Data \ Template.xlsx' и проверил мое разрешение, и они верны.

Я тоже пытался добавитьДвойные кавычки вокруг окончательного FilePath, как этоsFile = "\"" + sFile + "\""; но это выводит ошибкуMicrosoft Excel не может получить доступ к файлу '"\ FolderPath \ FilePath" это удаление одного \ я действительно не понимаю, почему.

Ниже приведен оригинальный код

using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Data.SqlClient;
using Excel = Microsoft.Office.Interop.Excel;
using System.IO;
using System.Text;
using System.Diagnostics;
using System.Reflection;

public int Main()
    {

     StringBuilder sb = new StringBuilder();
     string LogFilePath = "\\\\LogFilePath";
     string  strExcelDataOutPut = "\\\\FolderPath"; 
     string sPath = "\\filePath";

    try {
        FormatFile(strExcelDataOutPut,sPath);

    } catch (Exception ex) {

using (System.IO.StreamWriter outfile = new System.IO.StreamWriter(LogFilePath))
       {
   sb.AppendLine("Error Occured ..Please see the error Message :" + ex.Message);
   outfile.Write(sb.ToString());

       }
   }

    }
 public void FormatFile(string strExcelDataOutPut, string sPath)
                {
                    Microsoft.Office.Interop.Excel.Application objExcelApp = new Excel.Application();
                    Microsoft.Office.Interop.Excel.Workbook objExcelWbk = default(Excel.Workbook);
                    Microsoft.Office.Interop.Excel.Worksheet objWrksheet = default(Excel.Worksheet);

                    object missing = Missing.Value;
                    Excel.Range crange1;

                    string sFile = string.Empty;
                    string sWorkSheet = string.Empty;

                    //--Month in English/French
                    string sMonthYear = string.Empty;

                    try
                    {
                        objExcelApp.DisplayAlerts = false;
                        objExcelApp.Visible = false;

                        sFile = strExcelDataOutPut + sPath;

                        //--Check if the file exists ---------------------------------------------------------
                        if (System.IO.File.Exists(sFile))
                        {
                            sWorkSheet = "Sheet1";
                        }

                        objExcelWbk = objExcelApp.Workbooks.Open(sFile.Trim(), missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, true);
                        objWrksheet = (Excel.Worksheet)objExcelWbk.Worksheets[sWorkSheet];
                        ((Microsoft.Office.Interop.Excel._Worksheet)objWrksheet).Activate();

                        //--Format
                        sMonthYear = "Report as at: " + DateTime.Today.ToString("MMMM") + " " + DateTime.Today.Day.ToString() + ", " + DateTime.Today.Year.ToString();
                        objWrksheet.PageSetup.LeftHeader = "&8&F";
                        //objWrksheet.PageSetup.CenterFooter = @"&12&""Arial,Bold" + sMonthYear;
                        objWrksheet.PageSetup.CenterFooter = " " + sMonthYear;

                        crange1 = (Excel.Range)objWrksheet.Cells[1, 1];
                        crange1.Select();

                        //objExcelWbk.SaveAs(sFile, missing, missing, missing, missing, missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, missing, missing, missing, missing, missing);
                        //objExcelWbk.Close(true, missing, missing);
                        objExcelWbk.Save();
                        objExcelWbk.Close(true, sFile, missing);                
                        objExcelApp.Quit();
                    }
                    catch
                    {
                        throw;
                    }
                    finally
                    {
                        objWrksheet = null;
                        objExcelWbk = null;
                        objExcelApp = null;
                        System.GC.Collect();
                    }
                }

Ответы на вопрос(2)

Ваш ответ на вопрос