Как проверить, является ли файл действительной таблицей Excel?

Я уже выполнил поиск здесь, на SO, на , это , , это , это и многое другое, но понятия не имею, поэтому мне придется спросить вас, ребята.

Я пытаюсь открыть файл Excel через Interop, и у меня установлен Office 2007, поэтому я использую Microsoft.Office.Interop.Excel версию 14.0 .

Когда я пытаюсь открыть действительный файл xls , все работает нормально.

Но если я попытаюсь открыть недопустимый файл (например, растровое изображение или исполняемый файл) через Interop, Excel откроет его без жалоб или предупреждений.

Как я могу определить, что в Excel загружен недопустимый файл книги, без блокировки с помощью предупреждения?

Я пытаюсь написать модульный тест моего средства чтения объектов Excel. Один из случаев - попытка открыть неверный файл.

Код в помощь: Создание приложения:

    _app = new Application()
        {
            Visible = false,
            DisplayAlerts = false,     // <-- I don't want to remove this.
            AskToUpdateLinks = false,
        };

Открытие книги:

   _workbooks.Open(filename);
   _workbook = _workbooks.get_Item(1); // 1-based.
   _worksheets = _workbook.Sheets;

РЕДАКТИРОВАТЬ: Просто чтобы добавить еще одну информацию: Excel загружает недопустимый файл. Если для параметра DisplayAlerts задано значение true, он сообщает (открыть диалоговое окно), что книга повреждена, но если для параметра DisplayAlerts задано значение false, файл загружается, как показано ниже:

Excel Loads Invalid File

5
задан Community 23 May 2017 в 10:32
поделиться