2013-02-20 4 views
5

Я использую EPPlus в C# для чтения файла Excel (.xlsx). Инициализация осуществляется следующим образом:Проверка, действительно ли файл является файлом Excel с помощью EPPlus

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

Это прекрасно работает, но есть ли способ проверить, если указанный filename или package на самом деле правильный файл .xlsx? В противном случае будут исключения при работе на объекте, отличном от Excel, например. если пользователь случайно открыл .zip-файл или еще.

ответ

3

Вы можете проверить расширение файла:

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

string extenstion = Path.GetExtension(file); 

Update

Я гавань нашел какой-то возвращаемые значения для ситуации, какой-то файл не может быть открыт в документации EPPlus, но вы можете использовать это, чтобы поймать excetptions:

FileInfo fileInfo = new FileInfo(pathToYourFile); 

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

Если вы не в catch - то будет означать, что это о правильно обработано.

+1

Да, но это не определяет, является ли файл Excel двоичным, так? –

+1

@ Robert - не можете ли вы просто проверить его на своем компьютере? – MikroDel

+0

@Robert - или как вы думаете, что двоичные файлы не имеют никакого расширения?) – MikroDel

Смежные вопросы