2013-02-20 26 views
5

kullanarak bir Excel dosyası olup olmadığını denetleme Ben bir Excel (.xlsx) dosyasını okumak için C# içinde EPPlus kullanıyorum. başlatma böyle yapılır:Dosyanın aslında bir EPPlus

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

Bu iyi çalışır ancak filename veya package aslında geçerli bir .xlsx dosyası Belirttiğiniz olmadığını denetlemek için herhangi bir yolu var mı? Aksi takdirde, Excel olmayan bir nesne üzerinde çalışırken, örn. Kullanıcı yanlışlıkla bir .zip dosyasını veya başka bir dosyayı açarsa. Ben bazı dosya EPPlus belgelerinde açık olamaz durum için dönüş değerlerinin çeşit sığınak bulundu

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

string extenstion = Path.GetExtension(file); 

Güncelleme ama:

cevap

3

Sen dosyanızın uzantısını kontrol edebilirsiniz Eğer catch değilseniz

FileInfo fileInfo = new FileInfo(pathToYourFile); 

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

- şu iyiydi demek o: Eğer Geppos yakalamak için kullanabilir doğru olarak cezalandırıldı.

+1

Evet, ancak bu dosya bir Excel'in ikili bir şekilde olup olmadığını algılamaz, değil mi? –

+1

@Robert - sadece bilgisayarınızda test edemiyor musunuz? – MikroDel

+0

@Robert - veya sizce, bu ikili dosyalar herhangi bir uzantıya sahip değil mi?) – MikroDel