Ho già fatto qualche ricerca qui su SO, su this, this, this e altro, ma non ho idea, quindi dovrò chiederti ragazzi.Come verificare se un file è un foglio di calcolo Excel valido?
Sto tentando di aprire un file di Excel tramite Interop e ho installato Office 2007, quindi sto utilizzando Microsoft.Office.Interop.Excel
versione 14.0
.
Quando si tenta di aprire un file xls
valido, tutto funziona correttamente.
Ma se provo ad aprire un file non valido (come una bitmap o un eseguibile) tramite Interop, Excel lo apre senza lamentarsi o avvertire.
Come posso rilevare che Excel ha caricato un file di cartella di lavoro non valido, senza bloccare un avviso?
Sto provando a scrivere un test unitario del mio lettore di oggetti Excel. Uno dei casi è provare ad aprire un file non valido.
del codice per aiutare: Creazione Applicazione:
_app = new Application()
{
Visible = false,
DisplayAlerts = false, // <-- I don't want to remove this.
AskToUpdateLinks = false,
};
apertura cartella di lavoro:
_workbooks.Open(filename);
_workbook = _workbooks.get_Item(1); // 1-based.
_worksheets = _workbook.Sheets;
EDIT: solo per aggiungere 1 ulteriori informazioni: Excel carica il file non valido. Se DisplayAlerts
è impostata su true, si lamenta (aprire una finestra di dialogo) informare la cartella di lavoro sembra essere danneggiato, ma se DisplayAlerts
è impostato su false, si carica il file così come di seguito:
un modo per controllare se il file valido ext .csv o xls sembra essere l'approccio più semplice ... – MethodMan
Si può verificare se la proprietà _app.Ready diventa falsa quando si carica un file non valido. Solo un pensiero non l'ho provato. – Tod
@DJ KRAZE, ho già controllato l'estensione prima di caricare il file. Ma cosa succede se qualcuno cambia l'estensione del file e prova a caricare invece un exe? – Machado