Здравствуйте. Я пытаюсь открыть лист Excel, написать в него и сохранить.Все работает, пока я не позвоню xlWorkbook.SaveAs()
.Когда outputPath совпадает с файлом, который я открыл (inputPath), я получаю ошибку System.Runtime.InteropServices.COMException: 'Cannot access 'spreadsheet.xlsx'.'
Когда inputPath и outputPath отличаются, я получаю System.Runtime.InteropServices.COMException: 'Document not saved.'
Вот мой код.Я не уверен, что не так.Любая помощь приветствуется.
object misValue = Type.Missing;
Excel.Application xlApp = new Excel.Application {
Visible = true
};
xlApp.DisplayAlerts = false;
string outputPath = filePath.Text + fileName.Text;
string inputPath = templateName.Text;
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(inputPath, misValue, false, misValue, misValue, misValue, true, misValue, misValue, true,
misValue, misValue, misValue, misValue, misValue);
Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
xlWorksheet.Cells[4, 3].Value = customer.Text;
xlWorksheet.Cells[7, 3].Value = workOrder.Text;
xlWorkbook.SaveAs(outputPath, Excel.XlFileFormat.xlWorkbookDefault, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlNoChange,
misValue, misValue, misValue, misValue, misValue);
xlWorkbook.Close(true, outputPath, misValue);
xlApp.Quit();
Marshal.ReleaseComObject(xlWorkbook);
Marshal.ReleaseComObject(xlWorksheet);
Marshal.ReleaseComObject(xlApp);
GC.Collect();
GC.WaitForPendingFinalizers();