проверка типа файла

#c# #.net #asp.net #xml #excel

#c# #.net #asp.net #xml #excel

Вопрос:

Может ли кто-нибудь поделиться кодом c #, чтобы проверить, является ли входной файл Excel реальным файлом Excel или файлом xmlexcel (файл, созданный с помощью xmlstream)

я хочу этого, потому что пользователь загружает свой файл Excel и использую Microsoft.ACE.OLEDB.12.0 для импорта его в базу данных после импорта записей дубликатов (доступных в загруженном файле Excel), которые были сброшены в Excel (через xmlstream) и предоставлены пользователю в качестве ссылки для скачивания.затем пользователь использует этот файл для повторной загрузки … но Microsoft.ACE.OLEDB.12.0 не распознает it..so я использую расширенные свойства = импорт HTML, но я не могу найти способ получить данные из файла (поскольку это файл Excel на основе xml)

Ответ №1:

Используйте подпись магического числа из следующего URL:

http://www.garykessler.net/library/file_sigs.html

Вы можете использовать указанные там значения, чтобы определить, является ли файл двоичным XLS.

Ответ №2:

Вы можете проверить тип файла, добавив вложенный try..catch .. предложение.

 try
{
 //open connnection for x file
}catch(Exception ex)
{
   try
    {
       //open connection for y file
    }catch(...) 
     {

      }
}