Используя приведенный ниже код, создано C# консольное приложение, которое создаст Test.xlsx в папке Files.
public class Program
{
public string dailyUpdateFile;
Microsoft.Office.Interop.Excel.Application excel;
Microsoft.Office.Interop.Excel.Workbook worKbooK;
Microsoft.Office.Interop.Excel.Worksheet worKsheeT;
static void Main(string[] args)
{
System.Diagnostics.Debugger.Launch();
Program obj = new Program();
obj.excel = new Microsoft.Office.Interop.Excel.Application();
obj.excel.DisplayAlerts = false;
DirectoryInfo dInfo = Directory.GetParent(Environment.CurrentDirectory);
dInfo = Directory.GetParent(dInfo.FullName);
obj.dailyUpdateFile = dInfo + "\\Files\\Test.xlsx";
if (!File.Exists(obj.dailyUpdateFile))
{
obj.worKbooK = obj.excel.Workbooks.Add(Type.Missing);
obj.worKsheeT = (Microsoft.Office.Interop.Excel.Worksheet)obj.worKbooK.ActiveSheet;
obj.worKsheeT.Name = "TestFile";
obj.worKsheeT.Cells[1, 1] = "Date";
obj.worKsheeT.Cells[1, 2] = "Day";
}
obj.worKbooK.SaveAs(obj.dailyUpdateFile);
obj.excel.Quit();
}
}
Теперь, когда исполняемый файл приложения запускается из планировщика задач, получая исключение ниже:
Информация об исключении: System.Runtime.InteropServices.COMException в Microsoft.Office.Interop.Excel._Workbook.SaveAs (System.Object, System.Object, System.Object, System.Object, System.Object, System.Object, Microsoft .Office.Interop.Excel.XlSaveAsAccessMode, System.Object, System.Object, System.Object, System.Object, System.Object) в Test.Program.Main (System.String [])
Выше исключения может быть пойман из Event Viewer.
Думаю, я довольно закрыт, чтобы найти решение, но не могу найти его за день.
Можно подумать, когда приложение запускается из задачи Планировщик, он указывает «C: \ Files», но это нормально, он должен создать Test.xlsx в этой папке.
При отладке получено исключение
.
Помощь по это.