Я работаю с электронной таблицей XLS, созданной из стороннего программного обеспечения. Если я открою файл в текстовом редакторе, очевидно, что это HTML, сохраненный в виде файла XLS. Похоже, что MS использовал этот шаблон и недавно остановился в Excel из-за пары найденных статей:
Итак, теперь к актуальному техническому вопросу. Если я отправляю файл (в виде потока) непосредственно в ExcelDataReader, используя метод CreateReader
, он выдает эту ошибку:
«Неверная подпись файла.»
IExcelDataReader excelReader;
excelReader = ExcelReaderFactory.CreateReader(stream);
Если, с другой стороны, я открываю его в Excel, делаю «Сохранить как» и сохраняю XLS как XLSX, а затем отправляю его в мой код; он хорошо импортирует.
Я бы предпочел не заставлять моего пользователя делать шаг «Сохранить как». И заставить стороннего поставщика изменить свой формат нереально (как мы все знаем).
Какие-нибудь рекомендации или, может быть, хитрости, чтобы заставить это работать с ExcelDataReader?
Вот скриншот того, что я вижу, если открыть XLS в Notepad ++ (обратите внимание на расширение xls):