Обнаружено Содержимое Которое не Удалось Прочитать Excel Xlsb
При экспортировании отчета в виде XLS-файла из Salesforce с помощью кнопки «Export Details» при последующем открытии этого Excel-файла на компьютере офис показывает предупреждение о том, что формат файла не совпадает с его расширением:
Можно нажать на кнопку «Да», чтобы открыть файл. Или нажать на кнопку «Нет», чтобы не открывать
Справку Microsoft вообще смысла нет открывать — там нет нужной информации.
Полный текст предупреждения на русском языке:
Действительный формат открываемого файла (report.xls) отличается от указываемого его расширением имени файла. Перед открытием данного файла убедитесь, что он не поврежден и получен из надежного источника. Открыть этот файл сейчас?
Полный текст предупреждения на английском языке:
Самое интересное, что при экспорте из Salesforce было четко указано:
Как убрать сообщение о несовпадении формата и расширения у XLS-файла?
Для того, чтобы это предупреждение для данного файла больше не отображалось при его открытии, нужно пересохранить этот файл, изменив его тип с «Веб-страница (*.htm,*.html)» на «Лист Microsoft Excel 97-2003 (*.xls)» или на «Книга Excel с поддержкой макросов (*.xlsx)«:
При сохранении нового отчета придется повторять эту процедуру снова :((((
Как навсегда убрать сообщение о несовпадении формата и расширения у XLS-файла?
На компьютере с OS Windows можно отключить это предупреждение и сделать так, чтобы MS Office сразу открывал файлы, у которых тип не совпадает с содержимым. Для этого необходимо внести изменение в реестр в соответствующей ветке установленной версии MS Office.
Для упрощения данной операции можно создать текстовый файл со следующим содержимым:
сохранить и сменить расширение с .txt на .reg
Затем запустить этот файл и разрешить внесение изменений в реестр Windows.
После этого сообщение «Действительный формат открываемого файла (report.xls) отличается от указываемого его расширением имени файла. Перед открытием данного файла убедитесь, что он не поврежден и получен из надежного источника. Открыть этот файл сейчас?» не будет отображаться, и файл будет сразу открываться.
Как открывать такие файлы на смартфоне?
С одной стороны это не проблема — получив отчет из Salesforce, пересохранить файл и спокойно дальше с ним работать, но, с другой стороны, данное несовпадение не дает просматривать эти файлы на мобильных устройствах — например, ни iOS-приложение Outlook не может отобразить содержимое таких файлов, ни приложение Office (ох уж эти Microsoft!):
Для файлов с расширением XLS тип файла (MIME) должен быть в формате XLS (BIFF8) — application/vnd.ms-excel, чтобы открываться без предупреждения.
Если тип файла имеет другой формат, то пользователь обязательно получит предупреждение в сплывающем окне, поскольку содержимое файла отличается от расширения или типа MIME. Например, HTML-файл имеет следующий MIME: text/html.
Проверить MIME не сложно. Если открыть XLS-файл-отчет? полученный из Salesforce, то сразу в первой строке видно, что тип файла — HTML. И html-теги в следующих строках дополнительно это подтвеждают:
Получается, что по факту Salesforce экспортирует HTML-файл, но расширение к нему прицепляет экселевское.
Умный Excel при открытии таких файлов воспринимает и отображает их нормально, но для полноценного дальнейшего использования все-таки надо их вручную преобразовывать в другой тип (XLS или XLSX).
Странно, что при экспорте нет возможности указать типа файла — HTML/HTM, в этом случае он открывался бы для просмотра в другом приложении, а не в капризном Excel.
Но это не всё!
При создании XLS-файлов в Salesforce с помощью APEX похожее предупрежедение также может отображатся, так как в этом случае файл с расширением XLS скорее всего будет представлять собой XML-файл.
Использование MS Excel — AutoPark
Обратите внимание: поскольку мы сбросили значение по умолчанию для всех приложений в вашей системе, в случае, если вы вручную внесли какие-либо изменения и указали какое-либо конкретное расширение файла, которое будет открываться с помощью определенного приложения, оно также будет установлено по умолчанию.