Произошла ошибка внешняя таблица не имеет предполагаемый формат

Добрый день!!!
Excell 2010.  в PQ был создан запрос из папки в которой ежедневно появляются новые файлы xls.
При обновлении итогового запроса Выдается сообщение:

Не удается подключить
Произошла ошибка при попытке подключения.
Подробности: «Внешняя таблица не имеет предполагаемый формат»

Не соображу в чем дело, помогите пожалуйста.  Ошибка выдается при попытке первого  обновления после изменения состава папки-источника.
PQ проглатывает  ошибку и обновляет запрос только  после того как  войдешь в папку и откроешь новый файл/ на котором споткнулся PQ.

Если нужны подробности — подскажите пожалуйста откуда именно их взять, очень на ВЫ с PQ.
Заранее большое спасибо!!!!!

При попытке внести изменения в базу данных службы Power BI, например, добавив дополнительные таблицы в базу данных SQL, пользователи Power BI могут столкнуться с различными ошибками формата данных. Некоторые из ошибок включают DataFormat.Error: Мы достигли конца буфера или power bi dataformat.error внешней таблицы не в ожидаемом формате .

Если вы также обеспокоены этими ошибками Power BI, вот несколько советов по устранению неполадок, чтобы решить проблему с несколькими ошибками Dataformat.er.

Если проблема не устранена, выполните следующие действия.

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

This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.

Hello. I’m having trouble in PowerQuery with the above error, and I don’t see anything in this forum that matches my problem exactly.

I have tried this with different files, different directories, I have copied the query file, I have rebuilt the query file from scratch and nothing seems to help. The problem does not seem to happen when I first write the query, but when I exit out and back in I consistently get the error.

I have pasted the entire query below (none of which is confidential).

Any ideas on this would be greatly appreciated.

Видео: How to use Microsoft Power BI 2023

При попытке внести изменения в базу данных службы Power BI, например, добавив дополнительные таблицы в базу данных SQL, пользователи Power BI могут столкнуться с различными ошибками формата данных. Некоторые ошибки включают DataFormat.Error: Мы достигли конца буфера или power bi dataformat.error внешней таблицы не в ожидаемом формате.

Если вы также обеспокоены этими ошибками Power BI, вот несколько советов по устранению неполадок, чтобы решить проблему с несколькими ошибками Dataformat.er.

Как исправить типичные ошибки dataformat.er в Power BI

1. DataFormat.Error: мы достигли конца буфера

Проверьте размер файла

  1. Если ошибка возникает при попытке импортировать данные из нескольких файлов одновременно, это может быть связано с проблемами с размером файла.
  2. Проверьте размер файла JSON, чтобы убедиться, что он не связан с размером вашего файла.

Подожди, подожди и подожди!

  1. Если это временная проблема, то нет смысла пытаться устранить проблему вне вашей зоны комфорта.
  2. Пользователи сообщают, что ошибка формата данных была устранена автоматически через день или два.
  3. Итак, обратитесь в службу поддержки Power BI, если проблема подходит к концу.

Если проблема не устранена, выполните следующие действия.

  1. Если вы делаете PowerQuery, попробуйте отказаться от него и настроить промежуточную таблицу в базе данных SQL, которая анализирует JSON с помощью T-SQL.

3. Power BI dataformat.error неверное значение ячейки # имя / #ref

  1. Попробуйте исправить ошибку в приложении Excel, прежде чем импортировать ее.
  2. Проверьте, имеет ли какая-либо из формул Excel значение # N / A, которое является основной причиной этой проблемы. Замените значение пустым или пробелом.

Как устранить проблемы с нехваткой места на диске в Windows 10

Если вы получаете уведомления о нехватке места на диске E, отключите защиту системы, щелкнув правой кнопкой мыши «Пуск» и выбрав «Система».

Как устранить проблемы с батареей Surface Pro 3: избавиться от устройства

Поверхность Pro 3 печально известна своими проблемами разрядки батареи. В течение нескольких месяцев Microsoft пыталась решить эти проблемы с батареями, но безрезультатно. Устройства Surface Pro 3, работающие от аккумуляторов LGC, особенно подвержены этой ошибке, и, похоже, это будет продолжаться в течение длительного времени. Microsoft недавно выкатил .

Как устранить ошибку привязки power bi?

Если вы получили ошибку привязки Power BI, исправьте ее сейчас, отладив, переустановив сертификаты SSL, обновив NodeJS или избежав определенных переменных.

Источник

Power query dataformat error внешняя таблица не имеет предполагаемый формат

Есть два файла.
При настройке запроса Power Query на эти файлы «Из папки» запрос не формируется.

DataFormat.Error: Входные данные не удалось распознать как допустимый документ Excel.
Подробные сведения:
Binary

По отдельности запрос на файлики формируется нормально.
Файлы не могу приложить из-за их размера.
В чем может быть проблема?

Есть два файла.
При настройке запроса Power Query на эти файлы «Из папки» запрос не формируется.

DataFormat.Error: Входные данные не удалось распознать как допустимый документ Excel.
Подробные сведения:
Binary

По отдельности запрос на файлики формируется нормально.
Файлы не могу приложить из-за их размера.
В чем может быть проблема? Viper25

Сообщение Есть два файла.
При настройке запроса Power Query на эти файлы «Из папки» запрос не формируется.

DataFormat.Error: Входные данные не удалось распознать как допустимый документ Excel.
Подробные сведения:
Binary

По отдельности запрос на файлики формируется нормально.
Файлы не могу приложить из-за их размера.
В чем может быть проблема? Автор — Viper25
Дата добавления — 19.09.2016 в 17:51

Szekerfehesvar Дата: Понедельник, 19.09.2016, 21:23 | Сообщение № 2
krosav4ig Дата: Понедельник, 19.09.2016, 23:45 | Сообщение № 3

«)
),
Книги = Table.CombineColumns(
Table.SelectColumns(
Table.AddColumn(
Файлы,
«Workbook»,
each
Table.SelectRows(
Excel.Workbook([Content]),
each
_[Kind] = «Sheet»
)
),
<«Name», «Folder Path», «Workbook»>
),
<«Folder Path», «Name»>,
Combiner.CombineTextByDelimiter(
«»,
QuoteStyle.None
),
«File Path»
),
Листы = Table.ExpandTableColumn(
Книги,
«Workbook»,
<«Name», «Data», «Hidden»>
)
in
Листы

«)
),
Книги = Table.CombineColumns(
Table.SelectColumns(
Table.AddColumn(
Файлы,
«Workbook»,
each
Table.SelectRows(
Excel.Workbook([Content]),
each
_[Kind] = «Sheet»
)
),
<«Name», «Folder Path», «Workbook»>
),
<«Folder Path», «Name»>,
Combiner.CombineTextByDelimiter(
«»,
QuoteStyle.None
),
«File Path»
),
Листы = Table.ExpandTableColumn(
Книги,
«Workbook»,
<«Name», «Data», «Hidden»>
)
in
Листы

email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

«)
),
Книги = Table.CombineColumns(
Table.SelectColumns(
Table.AddColumn(
Файлы,
«Workbook»,
each
Table.SelectRows(
Excel.Workbook([Content]),
each
_[Kind] = «Sheet»
)
),
<«Name», «Folder Path», «Workbook»>
),
<«Folder Path», «Name»>,
Combiner.CombineTextByDelimiter(
«»,
QuoteStyle.None
),
«File Path»
),
Листы = Table.ExpandTableColumn(
Книги,
«Workbook»,
<«Name», «Data», «Hidden»>
)
in
Листы

Viper25 Дата: Вторник, 20.09.2016, 12:42 | Сообщение № 4
Viper25 Дата: Вторник, 20.09.2016, 15:28 | Сообщение № 5
krosav4ig Дата: Четверг, 22.09.2016, 03:43 | Сообщение № 6

«)
),
Книги = Table.CombineColumns(
Table.SelectColumns(
Table.AddColumn(
Файлы,
«Workbook»,
each
Table.SelectRows(
Excel.Workbook([Content]),
each
_[Kind] = «Sheet»
)
),
<«Name», «Folder Path», «Workbook»>
),
<«Folder Path», «Name»>,
Combiner.CombineTextByDelimiter(
«»,
QuoteStyle.None
),
«Файл»
),
Листы = Table.TransformColumns(
Table.ExpandTableColumn(
Книги,
«Workbook»,
<«Name», «Data»>,
<«Лист»,»Data»>
),
<«Data», Table.PromoteHeaders>
),
Столбцы = Table.Distinct(
Table.ExpandListColumn(
Table.AddColumn(
Листы,
«»,
each
Table.ColumnNames([Data])
),
«»
),
<«»>
)[#»»],
Таблица = Table.ExpandTableColumn(
Листы,
«Data»,
Столбцы
)
in
Таблица

«)
),
Книги = Table.CombineColumns(
Table.SelectColumns(
Table.AddColumn(
Файлы,
«Workbook»,
each
Table.SelectRows(
Excel.Workbook([Content]),
each
_[Kind] = «Sheet»
)
),
<«Name», «Folder Path», «Workbook»>
),
<«Folder Path», «Name»>,
Combiner.CombineTextByDelimiter(
«»,
QuoteStyle.None
),
«Файл»
),
Листы = Table.TransformColumns(
Table.ExpandTableColumn(
Книги,
«Workbook»,
<«Name», «Data»>,
<«Лист»,»Data»>
),
<«Data», Table.PromoteHeaders>
),
Столбцы = Table.Distinct(
Table.ExpandListColumn(
Table.AddColumn(
Листы,
«»,
each
Table.ColumnNames([Data])
),
«»
),
<«»>
)[#»»],
Таблица = Table.ExpandTableColumn(
Листы,
«Data»,
Столбцы
)
in
Таблица

email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

«)
),
Книги = Table.CombineColumns(
Table.SelectColumns(
Table.AddColumn(
Файлы,
«Workbook»,
each
Table.SelectRows(
Excel.Workbook([Content]),
each
_[Kind] = «Sheet»
)
),
<«Name», «Folder Path», «Workbook»>
),
<«Folder Path», «Name»>,
Combiner.CombineTextByDelimiter(
«»,
QuoteStyle.None
),
«Файл»
),
Листы = Table.TransformColumns(
Table.ExpandTableColumn(
Книги,
«Workbook»,
<«Name», «Data»>,
<«Лист»,»Data»>
),
<«Data», Table.PromoteHeaders>
),
Столбцы = Table.Distinct(
Table.ExpandListColumn(
Table.AddColumn(
Листы,
«»,
each
Table.ColumnNames([Data])
),
«»
),
<«»>
)[#»»],
Таблица = Table.ExpandTableColumn(
Листы,
«Data»,
Столбцы
)
in
Таблица

Viper25 Дата: Четверг, 22.09.2016, 09:55 | Сообщение № 7
krosav4ig Дата: Четверг, 22.09.2016, 14:37 | Сообщение № 8

email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Viper25 Дата: Четверг, 22.09.2016, 14:44 | Сообщение № 9
Viper25 Дата: Четверг, 22.09.2016, 14:57 | Сообщение № 10
pupkin-terkin Дата: Вторник, 27.12.2016, 16:41 | Сообщение № 11

Вот тут ещё пример (выходящий за рамки вопроса) с картинками:
http://www.poweredsolutions.co/2014. y-way-2

Вот тут ещё пример (выходящий за рамки вопроса) с картинками:
http://www.poweredsolutions.co/2014. y-way-2 Автор — pupkin-terkin
Дата добавления — 27.12.2016 в 16:41

telnoff Дата: Вторник, 12.11.2019, 14:27 | Сообщение № 12

. И ввиду такого названия он автоматически становился первым в списке. Т.е. тебе нужно отфильтровать таблицу с перечнем файлов до того как эти файлы начнут считываться. Делается это в расширенном редакторе.
В Power Bi есть кое какая хитрая система вспомогательных запросов, ты о них не знаешь, но они создаются автоматически и в ходе работы ссылаются на них, так вот этот автоматический запрос также придется редактировать и ставить дополнительный фильтр на исключение временных файлов.

. И ввиду такого названия он автоматически становился первым в списке. Т.е. тебе нужно отфильтровать таблицу с перечнем файлов до того как эти файлы начнут считываться. Делается это в расширенном редакторе.
В Power Bi есть кое какая хитрая система вспомогательных запросов, ты о них не знаешь, но они создаются автоматически и в ходе работы ссылаются на них, так вот этот автоматический запрос также придется редактировать и ставить дополнительный фильтр на исключение временных файлов. telnoff

. И ввиду такого названия он автоматически становился первым в списке. Т.е. тебе нужно отфильтровать таблицу с перечнем файлов до того как эти файлы начнут считываться. Делается это в расширенном редакторе.
В Power Bi есть кое какая хитрая система вспомогательных запросов, ты о них не знаешь, но они создаются автоматически и в ходе работы ссылаются на них, так вот этот автоматический запрос также придется редактировать и ставить дополнительный фильтр на исключение временных файлов. Автор — telnoff
Дата добавления — 12.11.2019 в 14:27

Источник

Студворк — интернет-сервис помощи студентам

Ошибка «внешняя таблица не имеет предполагаемый формат» генерируется на последней строчке представленного ниже кода, причем, если я открою предварительно файл в ms excel, то ошибка не происходит и я получаю доступ к данным в экселе. Как исправить эту ошибку?

C#
1
2
3
4
5
6
7
 string ConnStr = String.Format(
                            "provider=microsoft.jet.oledb.4.0;extended properties="excel 8.0;hdr=no";data source={0}",
                            rusFileName);
            //OleDbConnection OleDBConn = new OleDbConnection(String.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0", rusFileName));
            OleDbConnection OleDBConn = new OleDbConnection(ConnStr);
            DataSet ds = new DataSet("EXCEL");
OleDBConn.Open();

Добавлено через 21 час 0 минут
Решил проблему поменяв строку подключения следующим образом:

C#
1
2
3
string ConnStr = String.Format(
                            "Provider=Microsoft.ACE.OLEDB.12.0;extended properties="excel 8.0;hdr=no;IMEX=1";data source={0}",
                            rusFileName);
   KarpovDeniska

02.10.11 — 16:23

Есть файл XLS, в нём 14к строк,при подключении к нему через ADO выдаёт ошибку «внешняя таблица не имеет предполагаемый формат», притом если создаю пустой файл XLS всё нормально подключается.

Код вот такой:

ADOСоединение = Новый COMОбъект («ADODB.Connection»);

ADOСоединение.ConnectionString = «Provider=Microsoft.Jet.OLEDB.4.0;Data Source=»+ФайлEXCEL+»;Extended Properties=»»Excel 8.0;HDR=yes;»»»;

ADOСоединение.Open();

Помогите разобраться, уже весь мозг себе взорвал.

   Rie

1 — 02.10.11 — 16:27

(0) Заголовки у стобцов — есть? Данные в столбцах — однотипные?

   KarpovDeniska

2 — 02.10.11 — 16:47

типы разные, заголовки есть, в начале файла вообще вставлена картинка, удалил её руками, одна фигня

   Rie

3 — 02.10.11 — 16:51

(0) Попробуй добавить в строке подключения в Extended Properties:

IMEX=1;

   KarpovDeniska

4 — 02.10.11 — 16:53

Пробовал, то же самое

   Rie

5 — 02.10.11 — 16:57

(4) Может, помимо картинки, ещё какой-то мусор был?

Попробуй HDR=No;IMEX=1

(первую строку потом проигнорируешь).

   Armando

6 — 02.10.11 — 17:01

А если значения (только значения) перенести в другой файл?

   KarpovDeniska

7 — 02.10.11 — 17:17

Не,без толку

   KarpovDeniska

8 — 02.10.11 — 17:17

мож ещё какой способ есть, просто загрузка будет регламентной на серваке, на котором нет excel???

   Amra

9 — 02.10.11 — 17:23

(8) бугага

   KarpovDeniska

10 — 02.10.11 — 17:34

Amra от слова Mra????  )))

   KarpovDeniska

11 — 02.10.11 — 17:39

Ну что, больше нет вариантов чтоли??

   KarpovDeniska

12 — 02.10.11 — 17:40

только бугага видимо (9)

   Rie

13 — 02.10.11 — 17:42

(11) Вариант есть — разобраться, что там со структурой таблицы.

   KarpovDeniska

14 — 02.10.11 — 17:45

Это да, только и не знаю даже куда копать(13)

   Rie

15 — 02.10.11 — 17:47

(14) Поищи «грязь» вне той области, которую ты загрузить хочешь.

А может, у тебя объединённые ячейки там есть. Или ещё какие-нибудь оформительские приколы.

   Armando

16 — 02.10.11 — 18:09

выложи кусок файла куданить

   KarpovDeniska

17 — 02.10.11 — 18:19

http://ifolder.ru/26100093 , вообще я из него всё удалил а ему пофиг

   Черный всадник

18 — 02.10.11 — 18:23

(0) Уверен что файл в старом формате? Попробуй так: Extended Properties =»Excel 12.0 Xml;HDR=YES»

   KarpovDeniska

19 — 02.10.11 — 18:29

Так пишет невозможно найти устанавливаемый ISAM ))

   Rie

20 — 02.10.11 — 18:29

(17) Бедное ADO…

   KarpovDeniska

21 — 02.10.11 — 18:30

(17) объяснишь почему??

   KarpovDeniska

22 — 02.10.11 — 18:31

ой )) (20)

   KarpovDeniska

23 — 02.10.11 — 18:57

Up

   Jaap Vduul

24 — 02.10.11 — 19:06

(0)

Указанный код не может ошибку «внешняя таблица не имеет предполагаемый формат» вызывать.

Давай весь текст.

   KarpovDeniska

25 — 02.10.11 — 19:12

(24)

ФайлExcel = «C:UsersДенискаDesktopNIX3.xls»;

ADOСоединение = Новый COMОбъект («ADODB.Connection»);

ADOСоединение.ConnectionString=

«Provider=Microsoft.Jet.OLEDB.4.0;Data Source=»+ФайлExcel+»;Extended Properties=»+»»»Excel 8.0;HDR=YES;IMEX=1″»;»;

ADOСоединение.Open();

И всё,можешь попробовать, файлик в (17) есть

   Jaap Vduul

26 — 02.10.11 — 19:20

Поскольку никакая таблица в озвученных манипуляциях не указана, то и ошибки «внешняя таблица …» быть не должно.

ЗЫ. Подключиться к файлу из (17) я попробовал, никаких ошибок, разумеется нету.

   KarpovDeniska

27 — 02.10.11 — 19:26

ФайлExcel = «C:UsersДенискаDesktopNIX3.xls»  а это не внешняя таблица??? У меня на опене с такой ошибкой отваливается

   KarpovDeniska

28 — 02.10.11 — 19:30

(26)Может у тебя какой то другой код, кинь если не трудно

   Jaap Vduul

29 — 02.10.11 — 19:35

(27)

>> ФайлExcel = «C:UsersДенискаDesktopNIX3.xls»  а это не внешняя таблица???

Нет, с «точки зрения» ADO это база данных, в которой содержится энное количество таблиц. В случае с файлом (17) таблицы следующие:

Оглавление$

Пояснения$

Прайс

‘Комплектующие и периферия$’

‘Комплектующие и периферия’$Print_Area

‘Комплектующие и периферия’$_FilterDatabase

   KarpovDeniska

30 — 02.10.11 — 19:48

Ну тогда я вообще запутался, я уже в отдельную обработку скопировал 3 строчки кода, всё таже ошибка, хотя быть её как было сказано не может

   KarpovDeniska

31 — 02.10.11 — 20:57

up

   Черный всадник

32 — 03.10.11 — 01:42

(19) Обнови MIDAC

  

774816

33 — 03.10.11 — 09:25

пробуй через ODBC

Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:MyExcel.xls;DefaultDir=c:mypath;

http://www.connectionstrings.com/excel

Я пытаюсь прочитать файл Excel (xlsx), используя код, показанный ниже. Я получаю сообщение «Внешняя таблица не в ожидаемом формате». ошибка, если файл уже не открыт в Excel. Другими словами, я должен сначала открыть файл в Excel, прежде чем я смогу прочитать его из моей программы на C #. Файл xlsx находится в общей папке в нашей сети. Как я могу прочитать файл, не открывая его предварительно? Спасибо

«Внешняя таблица не в ожидаемом формате». обычно возникает при попытке использовать файл Excel 2007 со строкой подключения, в которой используются: Microsoft.Jet.OLEDB.4.0 и Extended Properties = Excel 8.0.

Использование следующей строки подключения, похоже, решает большинство проблем.

Спасибо за этот код :) Я очень ценю это. Работает на меня.

Итак, если у вас есть различная версия файла Excel, получите имя файла, если его расширение .xlsx, использовать этот:

(У меня слишком низкая репутация, чтобы комментировать, но это комментарий к записи JoshCaba, использующей Ace-engine вместо Jet для Excel 2007)

Если на вашем компьютере не установлен / не зарегистрирован Ace, вы можете получить его по адресу: https://www.microsoft.com/en-US/download/details.aspx?id=13255

Это также применимо к Excel 2010.

Просто добавь мой случай. Мой файл xls был создан функцией экспорта данных с веб-сайта, расширение файла — xls, его можно нормально открыть в MS Excel 2003. Но и Microsoft.Jet.OLEDB.4.0, и Microsoft.ACE.OLEDB.12.0 получили отметку » Внешняя таблица не соответствует «исключению ожидаемого формата».

Наконец, проблема в том, что, как сказано в исключении, «формат не соответствует ожидаемому». Хотя имя расширения — xls, но когда я открываю его в текстовом редакторе, на самом деле это хорошо сформированный файл html, все данные находятся в

это клетка. Тогда я думаю, что смогу разобрать его в формате HTML.

  • Так было и со мной, но на самом деле мой файл был XML. Тем не менее было бы неплохо узнать, как импортировать его с помощью OBDC, но я не думаю, что он поддерживается.
  • @DavidRogers, я когда-либо видел что-то вроде XML ODBC Driver, но никогда не использовал, посмотрите cdata.com/drivers/xml/odbc.
  • Тот же случай здесь, я думаю, магия началась с открытия файла с помощью блокнота, на самом деле я голосую за ваш ответ, потому что до сих пор я не прокручивал вниз, чтобы увидеть ваше сообщение (и теперь я уже открыл файл / проанализировал его с пакетом Html Agility …), но ваш ответ заслуживает быть первым, по чистой логике: ОТКРОЙТЕ ФАЙЛ СНАЧАЛА! и посмотрите, есть ли внутри какой-нибудь файл в стиле Excel!
  • Если это файл HTML, просто примените расширенные свойства, например:

У меня такая же проблема. которые разрешены с помощью следующих шагов:

1.) Щелкните Файл

2.) Выберите «Сохранить как».

3.) Щелкните раскрывающийся список (Сохранить как тип).

4.) Выберите книгу Excel 97-2003.

5.) Нажмите кнопку Сохранить.

  • 1 Бу! Возврат к устаревшему формату файла даже не должен рассматриваться. На момент ответа формату 97-2003 было 16 лет и он устарел на 12 лет. Я мог понять несколько лет, но устаревание более чем на десять лет не должно говорить профессиональному разработчику о том, что формат файла должен быть старше.

У меня была такая же проблема (с использованием ACE.OLEDB), и для меня ее решила эта ссылка:

http://support.microsoft.com/kb/2459087

Суть в том, что установка нескольких офисных версий и различных офисных SDK, сборок и т. Д. Привела к тому, что в реестре ссылка ACEOleDB.dll указывала на папку OFFICE12 вместо OFFICE14 в

C: Program Files Common Files Microsoft Shared OFFICE14 ACEOLEDB.DLL

По ссылке:

Кроме того, вы можете изменить раздел реестра, изменив путь к dll в соответствии с вашей версией Access.

Access 2007 должен использовать OFFICE12, Access 2010 — OFFICE14 и Access 2013 — OFFICE15.

(ОС: 64-разрядная, офисная: 64-разрядная) или (ОС: 32-разрядная, офисная: 32-разрядная)

Ключ: HKCR CLSID {3BE786A0-0366-4F5C-9434-25CF162E475E} InprocServer32

Имя значения: (по умолчанию)

Данные значения: C: Program Files Common Files Microsoft Shared OFFICE14 ACEOLEDB.DLL

(ОС: 64-битная, Офисная: 32-битная)

Ключ: HKCR Wow6432Node CLSID {3BE786A0-0366-4F5C-9434-25CF162E475E} InprocServer32

Имя значения: (по умолчанию)

Данные значения: C: Program Files (x86) Common Files Microsoft Shared OFFICE14 ACEOLEDB.DLL

  • Мне было проще просто зайти в «Программы и компоненты» и «Восстановить ACE». (Для меня ACE называется Microsoft Access Runtime 2016). Я предполагаю, что у меня был этот вариант проблемы, и что Repair просто сбросил все ключи реестра для меня, и мне не пришлось беспокоиться о regedit ;-).

Я также видел эту ошибку при попытке использовать сложные формулы INDIRECT () на листе, который импортируется. Я заметил это, потому что это была единственная разница между двумя книгами, одна из которых импортировала, а другая — нет. Оба были файлами 2007+ .XLSX, и был установлен движок 12.0.

Я подтвердил, что это проблема:

  • Создание копии файла (проблема все еще была, так что не было никакой разницы в сохранении как)
  • Выбор всех ячеек на листе с помощью косвенных формул
  • Вставка только как значения

и ошибка исчезла.

У меня возникали ошибки при чтении книги XLSX третьей стороной и Oledb. Проблема заключается в скрытом листе, который вызывает ошибку. Отображение рабочего листа позволило импортировать книгу.

Если файл доступен только для чтения, просто удалите его, и он снова заработает.

Заглянул в ту же проблему и нашел эту ветку. Ни одно из приведенных выше предложений не помогло, за исключением комментария @ Smith к принятому ответу 17 апреля 2013 года.

Предыстория моей проблемы достаточно близка к проблеме @ zhiyazw — в основном я пытаюсь установить экспортированный файл Excel (в моем случае SSRS) в качестве источника данных в пакете dtsx. Все, что я сделал, после некоторой возни с этим, переименовал рабочий лист. Это не обязательно должно быть в нижнем регистре, как предложил @Smith.

Я предполагаю, что ACE OLEDB ожидает, что файл Excel будет следовать определенной структуре XML, но каким-то образом службы Reporting Services не знают об этом.

  • Я столкнулся с той же проблемой таблицы не в ожидаемом формате. Я убедился, что в моей книге нет скрытых листов. Фактическое имя рабочего листа в книге пишется с заглавной буквы, но в коде C # для анализа файла, который я добавил .ToLower () для имени вкладки, и теперь я могу снова проанализировать файл excel. БЛАГОДАРЮ ВАС!

Этот адрес файла Excel может иметь неправильное расширение. Вы можете изменить расширение с xls на xlsx или наоборот и повторить попытку.

файл может быть заблокирован другим процессом, вам нужно скопировать его, а затем загрузить, как говорится в этом после

Это также может быть файл, содержащий изображения или диаграммы, см. Это: http://kb.tableausoftware.com/articles/knowledgebase/resolving-error-external-table-is-not-in-expected-format

Рекомендуется сохранить как Excel 2003

Просто добавляю свое решение этой проблемы. Я загружал файл .xlsx на веб-сервер, затем читал его и массово вставлял в SQL Server. Получал такое же сообщение об ошибке, попробовал все предложенные ответы, но ни один из них не работал. В конце концов я сохранил файл как excel 97-2003 (.xls), который работал … единственная проблема, которая у меня сейчас есть, заключается в том, что в исходном файле было более 110 000 строк.

Если у вас все еще есть эта проблема, проверьте свои разрешения, я пробовал многие из этих предложений, и моя конкретная проблема заключалась в том, что файл, который я хотел обработать, находился под контролем источника, а поток не имел разрешений, мне пришлось изменить все разрешения для папки и он начал работать (я обрабатывал там много файлов) … Он также соответствует многим предложениям, например, изменить имя файла или проверить, не заблокирован ли файл другим процессом.

Надеюсь, это вам поможет.

У меня была эта проблема, и изменение расширенных свойств на импорт HTML исправило ее в соответствии с этим сообщением Маркуса Мириса:


Вместо OleDb вы можете использовать Excel Interop и открывать лист только для чтения.

https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.workbooks.open(v=office.15).aspx

  • 5 Взаимодействие с Excel не рекомендуется для работы с Excel. Это может вызвать множество проблем, поэтому не рекомендуется.
  • Хотя это старый пост, я согласен с MaxOvrdrv, использование взаимодействия — не лучшая идея, и его следует избегать, хотя бы по той причине, что для этого требуется полная установка Excel на сервере.
  • Вы не должны этого делать.

ACE заменил JET

Ace поддерживает все предыдущие версии Office

Этот код работает хорошо!


  • 1 Это не так. Проблема все еще может возникнуть, я еще не выяснил, почему, поскольку все мои файлы из Excel 2007, и некоторые из них работают, некоторые — нет.
  • У вас есть источник для этого утверждения? Сам не знаю, просто интересно. :-)

Это может произойти, если книга защищена паролем. Есть несколько обходных путей для снятия этой защиты, но большинство примеров, которые вы найдете в Интернете, устарели. В любом случае, простое решение — снять защиту книги вручную, в противном случае используйте что-то вроде OpenXML для программного удаления защиты.

Недавно я увидел эту ошибку в контексте, который не соответствовал ни одному из ранее перечисленных ответов. Оказался конфликт с AutoVer. Решение: временно отключите AutoVer.

У меня недавно было это «System.Data.OleDb.OleDbException (0x80004005): внешняя таблица не в ожидаемом формате». возникает ошибка. Я полагался на Microsoft Access 2010 Runtime. До обновления, которое было автоматически установлено на моем сервере 12 декабря 2018 года, мой код C # работал нормально с использованием поставщика Microsoft.ACE.OLEDB.12.0. После установки обновления от 12 декабря 2018 года я начал получать сообщение «Внешняя таблица не в ожидаемом формате» в моем файле журнала.

Я отказался от среды выполнения Microsoft Access 2010 и установил среду выполнения Microsoft Access 2013, и мой код C # снова начал работать без исключения «System.Data.OleDb.OleDbException (0x80004005): внешняя таблица не в ожидаемом формате». ошибки.

Версия 2013 года, которая исправила эту ошибку для меня https://www.microsoft.com/en-us/download/confirmation.aspx?id=39358

Версия 2010 года, которая работала у меня до обновления, которое было автоматически установлено на моем сервере 12 декабря. https://www.microsoft.com/en-us/download/confirmation.aspx?id=10910 https://www.microsoft.com/en-us/download/confirmation.aspx?id=10910

У меня также была эта ошибка в прошлом месяце в автоматизированном процессе. Код C # работал нормально, когда я запускал его отладку. Я обнаружил, что учетной записи службы, на которой запущен код, также необходимы разрешения для папки C: Windows Temp.

Моя область действия состоит из загрузки шаблона и проверки шаблона, когда он заполнен данными Итак,

1) Загрузите файл шаблона (.xlsx) со строкой заголовка. файл создается с использованием openxml и он работает отлично.

2) Загрузите тот же файл без каких-либо изменений из загруженного состояния. Это приведет к ошибке подключения и отказу (соединение OLEDB используется для чтения листа Excel).

Здесь, если данные заполнены, программа работает как положено.

Любой, у кого есть идея, что проблема связана с файлом, в котором мы ее создаем. xml format, если мы откроем его и просто сохраним, преобразуем его в формат Excel, и он работает хорошо.

Есть идеи загрузить Excel с предпочитаемым типом файла?

  • Вы не должны задавать вопросы в своих ответах, если вам нужны ответы на ваш вопрос, задавайте их при необходимости отдельно.

Работая с некоторым более старым кодом, я обнаружил то же общее исключение. Очень сложно отследить проблему, поэтому я подумал, что добавлю сюда, если это поможет кому-то другому.

В моем случае в другом месте проекта был код, открывающий StreamReader в файле Excel. перед OleDbConnection попытался открыть файл (это было сделано в базовом классе).

Итак, в основном мне просто нужно было сначала позвонить в объект StreamReader, а затем я смог успешно открыть соединение OleDb. Это не имело ничего общего ни с самим файлом Excel, ни со строкой OleDbConnection (которую я, естественно, сначала искал).

Понравилась статья? Поделить с друзьями:
  • Произошла ошибка атрибута dnfdaemon
  • Произошла ошибка внешнего программного объекта парус 8
  • Произошла ошибка адресат вызова создал исключение
  • Произошла ошибка включения ускорения сайта
  • Произошла ошибка авторизации тарков