MS Database Engine не открывает файлы Excel #811433


#0 by den090312
Всем привет! Столкнулся с такой проблемой Есть сервер, на нем стоит Microsoft Access Database Engine 2016 Через сервер проходит регламентное задание 1С, которое читает электронную почту и выгружает оттуда файлы Excel (во вложении письма). Замечена следующая особенность: когда отправитель письма, перед тем как его отправить, заходил в файл через MS Excel и сохранял его, то DB Engine этот файл прекрасно читает. Но если файл был создан просто импортом из 1С, DB Engine выдает ошибку: "Произошла исключительная ситуация (Microsoft Access Database Engine): External table is not in the expected format" Разницу между такими файлами выявили в их свойствах на вкладке "Подробно". Если файл перед отправлением проходил через MS Excel, то у него в разделе "Источник" указаны: "Авторы", "Кем создан" и "Имя программы". А если импортом из 1С, то эти пункты пустые Я гуглил ошибку "External table is not in the expected format". Чего мне только не предлагали, ничего не помогает. У меня есть подозрение, что DB Engine не предназначен для работы с импортированными екселевскими файлами. Как будто он доходит до свойства "Авторы", видит пустоту, и все - это для него уже не формат ) Как думаете вы? Сталкивались с подобной проблемой?
#1 by NorthWind
скорее всего, в письме файлики приходят не совсем Excel Workbook. Возможно, это Excel XML или еще какой-то смежный формат, который экселем читается, а вот провайдером ACE нет. Провайдеру жизненно необходим именно Excel Workbook, ничего другого он не понимает.
#2 by бомболюк
дааа, такая же фигня. переименовал *.xlsx в *.zip и поглядел внутрь. В пересохраненном варианте есть папочка "docProps". Ее наверное и не хватает. Чего делать пока не понял.
#3 by NorthWind
а если ее туда подоткнуть от другого файла - не начинает жить?
#4 by Ботаник Гарден Меран
#5 by den090312
Там я читал, MSXML 6.0 уже стоит, не помогает Да, в этой папке как раз и лежат свойства файла
#6 by den090312
бомболюк подсказал решение задачи: Нужно разобрать zip-архив и вытащить оттуда содержимое Файл xlSharedStrings.xml содержит в себе значение всех текстовых ячеек файла. На него установлены ссылки из файлов xlworksheetssheet1.xml (описание листа(ов)). Вот тут полезная информация:
#7 by бомболюк
так можно узнать: чего надо поправить чтобы Microsoft.ACE.OLEDB работал с файлами из 1С?
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С