2011-05-26 1 views
0

J'essaie d'utiliser SaveAs() pour enregistrer des données de feuille de calcul Excel (avec 8 feuilles, certaines feuilles avec 15000 lignes) mais le SaveAS() ne revient jamais. Si je supprime quelques feuilles, il réussira à enregistrer sur le disque dur. Y a-t-il un moyen de sauver toute la feuille de calcul sans la suspendre?Excel Interop SaveAs() se bloque avec des données de tableur énormes

Merci beaucoup.

///////// my c# code to save Excel data: 
xlWorkBook.SaveAs(outFileName, 
        Excel.XlFileFormat.xlWorkbookNormal, 
        Type.Missing, 
        Type.Missing, 
        false, 
        false, 
        Excel.XlSaveAsAccessMode.xlExclusive, 
        false, 
        false, 
        Type.Missing, 
        Type.Missing, 
        Type.Missing); 

xlWorkBook.Close(true, misValue, misValue); 
xlApp.Quit(); 

Répondre

4

Avez-vous essayé de courir avec xlApp.Visible = True pour voir si Excel est popping up des erreurs étranges? Vous pouvez également essayer xlApp.DisplayAlerts = false pour arrêter les avertissements/erreurs qui pourraient surgir derrière l'application en cours d'exécution (nous avons déjà rencontré ces deux problèmes)

+0

Cela fonctionne avec xlApplication.Visible = true. Merci beaucoup. –

+0

@CHI KUO TANG Ah, c'est bien sûr ce que je voulais dire. Je vais modifier ma réponse pour clarifier. Je suis content que vous ayez réussi à le faire fonctionner. – NickAldwin

Questions connexes