2013-02-20 14 views
5

Utilizzo EPPlus in C# per leggere un file Excel (.xlsx). L'inizializzazione è fatta così:Controllare se il file è effettivamente un file Excel utilizzando EPPlus

var package = new ExcelPackage(new FileInfo(filename)); 

Questo funziona bene, ma c'è un modo per verificare se il specificato filename o package è in realtà un file .xlsx valida? Altrimenti ci saranno delle eccezioni quando si opera su un oggetto non Excel, ad es. se l'utente apre involontariamente un file .zip o altro.

risposta

3

È possibile controllare l'estensione del file:

string file = @"C:\Users\Robert\Documents\Test.txt"; 

string extenstion = Path.GetExtension(file); 

Aggiornamento

havent trovato un qualche tipo di valori di ritorno per la situazione che alcuni file non può essere aperto nella documentazione EPPlus, ma è possibile utilizzare questo per catturare i excetptions:

FileInfo fileInfo = new FileInfo(pathToYourFile); 

ExcelPackage package = null; 
try 
{ 
    package = new ExcelPackage(fileInfo); 
} 
catch(Exception exception) 
{ 
    ... 
} 

Se non si è in catch - questo è dire che era o correttamente.

+1

Sì, ma questo non rileva se il file è un Excel in modo binario, giusto? –

+1

@Robert - non puoi testarlo sul tuo computer? – MikroDel

+0

@Robert - o pensi che i binari non abbiano un'estensione?) – MikroDel

Problemi correlati