Внешняя Таблица не Имеет Предполагаемый Формат Excel Delphi •

Excel «Внешняя таблица не находится в ожидаемом формате».

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

20 ответов

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

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

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

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

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

Если у вас нет Ace, установленного/зарегистрированного на вашем компьютере, вы можете получить его по адресу: http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en

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

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

Суть его в том, что установка нескольких офисных версий и различных офисных sdk, сборок и т.д. привела к ссылке ACEOleDB.dll в реестре, указывающей на папку OFFICE12 вместо OFFICE14 в

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

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

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

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

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

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

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

У меня возникла эта проблема и изменение расширенных свойств на HTML Import зафиксировал ее как this сообщение от Marcus Miris:

ACE имеет свернутый JET

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

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

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

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

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

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

Быстрая обработка данных Excel в Delphi - Программные продукты - Статьи
Нам осталось рассмотреть последний элемент синтаксиса команды CREATE TABLE, а именно — описание ограничений логической целостности для таблицы в целом (см. также описание ограничений логической целостности для столбца).
[expert_bq id=»1570″]Ограничение означает, что данное поле соответствует первичному ключу LIST_other_col в таблице other_table и в этой таблице имеется строка с указанным значением. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Событие OnMouseUp компонента StringGrid происходит при нажатии клавиши мыши. Причём событие OnMouseUp вызывается при нажатии любой клавиши, левой, правой или средней. Событие OnMouseUp происходит в момент отпускания клавиши.

Ошибки импорта из Excel и их решения.

Отметим, что в конструкции можно использовать любые данные текущей строки таблицы, а также результаты поиска по базе, что делает конструкцию CHECK значительно более мощной, чем ее аналог в описании домена.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: