Вход | Регистрация

Информационные технологии ::

Метки: 

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

Я
   den090312
 
10.01.18 - 08:48
Всем привет! Столкнулся с такой проблемой
Есть сервер, на нем стоит 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 не предназначен для работы с импортированными екселевскими файлами. Как будто он доходит до свойства "Авторы", видит пустоту, и все - это для него уже не формат )

Как думаете вы? Сталкивались с подобной проблемой?
 
  Рекламное место пустует
   NorthWind
 
1 - 10.01.18 - 08:53
(0) скорее всего, в письме файлики приходят не совсем Excel Workbook. Возможно, это Excel XML или еще какой-то смежный формат, который экселем читается, а вот провайдером ACE нет. Провайдеру жизненно необходим именно Excel Workbook, ничего другого он не понимает.
   бомболюк
 
2 - 10.01.18 - 09:15
дааа, такая же фигня.
переименовал *.xlsx в *.zip и поглядел внутрь. В пересохраненном варианте есть папочка "docProps". Ее наверное и не хватает. Чего делать пока не понял.
   NorthWind
 
3 - 10.01.18 - 09:26
(2) а если ее туда подоткнуть от другого файла - не начинает жить?
   Ботаник Гарден Меран
 
4 - 10.01.18 - 09:40
   den090312
 
5 - 10.01.18 - 09:47
(4) Там я читал, MSXML 6.0 уже стоит, не помогает
(2) Да, в этой папке как раз и лежат свойства файла
   den090312
 
6 - 10.01.18 - 10:38
(2) бомболюк подсказал решение задачи:
Нужно разобрать zip-архив и вытащить оттуда содержимое

Файл xl\SharedStrings.xml содержит в себе значение всех текстовых ячеек файла. На него установлены ссылки из файлов xl\worksheets\sheet1.xml (описание листа(ов)).

Вот тут полезная информация:
http://catalog.mista.ru/public/665512/
   бомболюк
 
7 - 10.01.18 - 10:50
(6) так можно узнать: чего надо поправить чтобы Microsoft.ACE.OLEDB работал с файлами из 1С?


Список тем форума
 
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс, 1996 г.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует