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