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

È stato utile?

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();

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top