powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Импорт данных из одного файла excel в другой
11 сообщений из 11, страница 1 из 1
Импорт данных из одного файла excel в другой
    #36871432
evggen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Моя задача программно осуществить импорт из одного файла эксель в другой. Один файл является базой данных, а другой пользовательским интерфейсом для работы с данными из базы.
Импорт делаю через MsQuery.
У меня установлен excel 2007. Импорт из файла формата *.xlsx и *.xls работает без проблем.
У коллеги тоже excel 2007, но данные из файла *.xlsx не импортируются. При этом возникает следующая ошибка:

---------------------------
Сбой подключения к драйверу ODBC Excel
---------------------------
Внешняя таблица не имеет предполагаемый формат.
---------------------------
ОК Отмена
---------------------------

Подскажите, пожалуйста, как решить эту проблему. Файл базы данных обязательно должен быть в формате excel 2007

Код для импорта использую следующий:

SourceStr = "ODBC;DSN=Excel Files;DBQ=" & FullName & ";DefaultDir=" & Path & ";DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"

With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
SourceStr _
), Array(";")) _
, Destination:=Range("$A$2")).QueryTable
.CommandText = Array( _
"SELECT table1.`№ Позиции`, table1.`№ Материала`, table1.`Наименование материала`, table1.`№ Сметы`, table1.`Наимено" _
, _
"вание сметы`, table1.`Документ/Опросный лист`, table1.`Код оборудования, изделия, материала`, table1.`Завод-изготовитель`, table1.`Е" _
, _
"диницы измерения`, table1.Количество, table1.`Масса единицы`, table1.Примечание" & Chr(13) & "" & Chr(10) & "FROM `" & FullName & "`.table1" _
, " table1" & Chr(13) & "" & Chr(10) & WhereStr _
)
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With


WhereStr - строка, формирующаяся при выборе фильтра пользователем.
FullName -полное имя файла базы данных.
...
Рейтинг: 0 / 0
Импорт данных из одного файла excel в другой
    #36871434
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evggen,

юзайте поиск, тема с особенностями подключения к 2007 была
и юзайте тег SRC
...
Рейтинг: 0 / 0
Импорт данных из одного файла excel в другой
    #36871462
evggen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый, Shamanus!
По своей проблеме я не нашел на форуме. Проблема то в том, что у меня все отлично, а у коллеги - нет.
Если не сложно, подскажите еще раз. Может быть не смог найти :(
...
Рейтинг: 0 / 0
Импорт данных из одного файла excel в другой
    #36871466
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evggen,

тут
...
Рейтинг: 0 / 0
Импорт данных из одного файла excel в другой
    #36871489
evggen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamaus,
все указанные библиотеки подключены.
Данные не хотят импортироваться даже когда я в ручную это делаю
...
Рейтинг: 0 / 0
Импорт данных из одного файла excel в другой
    #36871504
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evggen,

а где по моей ссылке библиотеки? Моя ссылка на конкретный пост в котором содержится connection string
...
Рейтинг: 0 / 0
Импорт данных из одного файла excel в другой
    #36871975
evggen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ничего не выходит...
С чем может быть связано то, что MsQuery не может импортитировать данные, при ручном импорте,
выдавая ошибку "Внешняя таблица не имеет предполагаемый формат."?
...
Рейтинг: 0 / 0
Импорт данных из одного файла excel в другой
    #36872248
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evggen,

штатный экстрасенс насколько я знаю в отпуске.

Но у меня есть личные подозрения, что "Внешняя таблица не имеет предполагаемый формат." поэтому нужно проверить внешнюю таблицу и уточнить какой формат таки предполагается
...
Рейтинг: 0 / 0
Импорт данных из одного файла excel в другой
    #36872310
evggen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamanus,
формат данных *xlsx. С обычным форматом *.xls работает нормально

Самый простой пример файла, с которым отказывается работать во вложении.
...
Рейтинг: 0 / 0
Импорт данных из одного файла excel в другой
    #36872724
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evggen,

у меня из этого файла все читается нормально.

возьмите уже готовый код и не кушайте м....
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim cn As ADODB.Connection
Dim rstTemp As ADODB.Recordset
Dim strSQL As String
Set cn = New ADODB.Connection
cn.Open "DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DriverId=790;ReadOnly=True;" & _
 "DBQ=" & strSourceFile & ";"
Set rstTemp = New ADODB.Recordset
strSQL= "SELECT * FROM `Лист1$`;"
rstTemp.Open strSQL, cn, adOpenForwardOnly, adLockReadOnly, adCmdText
...
Рейтинг: 0 / 0
Импорт данных из одного файла excel в другой
    #36873496
evggen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamanus,
Cпасибо, уже так и переделал.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Импорт данных из одного файла excel в другой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]