C # e problema di Excel Interop, salvataggio di file non è liscia l'excel
-
16-09-2019 - |
Domanda
ho potuto aprire e scrivere il file di Excel, ma quando provo a salvare il file passando un percorso ad esso, l'operazione di salvataggio richiede con la finestra di dialogo Salva. Mi aspettavo per salvare quitely il file nel percorso specificato
Il codice è il seguente:
excelApp.Save(exportToDirectory);
excelApp.Quit();
dove, exportToDirectory è: "C: \ files \ strings.xlsx".
PS:. Ho già verificato con la versione excel e simile edizione
Grazie
Soluzione
È necessario utilizzare Workbook.SaveAs
invece di Application.Save
:
Excel.Application app = new Excel.Application();
Excel.Workbook wb = app.Workbooks.Add(missing);
...
wb.SaveAs(@"C:\temp\test.xlsx", missing, missing, missing, missing,
missing, Excel.XlSaveAsAccessMode.xlExclusive,
missing, missing, missing, missing, missing);
Altri suggerimenti
Impostazione delle seguenti proprietà potrebbe anche aiutare:
excelApp.DisplayAlerts = false;
excelApp.ScreenUpdating = false;
excelApp.Visible = false;
excelApp.UserControl = false;
excelApp.Interactive = false;
Bene, ecco come Microsoft fa:
// Save the Workbook and quit Excel.
m_objBook.SaveAs(m_strSampleFolder + "Book1.xls", m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,
m_objOpt, m_objOpt, m_objOpt, m_objOpt);
m_objBook.Close(false, m_objOpt, m_objOpt);
m_objExcel.Quit();
Vedere uno di loro KB articolo s.
è sufficiente impostare la ActiveWorkbook.Saved proprietà true e si può uscire () senza alcuna finestra di dialogo;
ExcelApp.Interactive = false
sopprime qualsiasi finestra di dialogo.
excelApp.ActiveWorkbook.SaveAs(exportDirectory)
Ho trovato excelApp.ActiveWorkbook.save()
che può salvare il file, allora posso uscire senza per chiedere.
myBook.Saved = true;
myBook.SaveCopyAs(xlsFileName);
myBook.Close(null, null, null);
myExcel.Workbooks.Close();
myExcel.Quit();