powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Импорт данных из экселя а эксель
25 сообщений из 41, страница 1 из 2
Импорт данных из экселя а эксель
    #36455663
Имеется таблица эксель с частичными данными из базы данных. Нужно создать запрос в базе данных, отобрать список удовлетворяющих условию отбора. Но в БД данных после отбора будет в два раза больше данных чем в екселе.И нужно извлечь данные из экселя по первому и третьему столбцу и сравнить их с полученным запросом. Если значения совпадают, то в эксель нужно добавить сумму с запроса.
Как это лучше сделать?
Можно ли это просто с помощью запроса реализовать?
Сам запрос для отбора данных я смогу сделать, вот по поводу связки Экселя с БД, я незнаю.
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36455673
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну раз запрос сами сможете написать....

Вы можете подключиться к файлу экселя как к базе данных. Используйте ODBC - там есть провайдер для экселевских файлов
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36455891
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

зачем ODBC ? EXcel по OLEDB отлично работает.
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456433
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ВеликийМожно ли это просто с помощью запроса реализовать?даАлександр ВеликийКак это лучше сделать?
при помощи microsoft query
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456650
А как это реализовать с помощью SQL Query Analyzer?
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456669
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ВеликийА как это реализовать с помощью SQL Query Analyzer?
Импорт данных из Excel в SQL Server
Ключевое слово для вас - openrowset .
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456681
Вот имеется таблица эксель и имеется запрос. Связь по двум столбцам. И нужно добавить данные В эксель, в следующие столбцы.
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456685
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Великий,

получается содержимое этого файла это параметры для запроса (т.е. 2 записи одной строки это ключ для join-а)? Так?

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

В зависимости от используемого драйвера методика разная, но суть не меняется.
Например с ADO это сделать удобнее.
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456687
вот пытаюсь написать запрос: select *
from OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\TMC_C1_2009.xls',zC1_xls)
у меня пишет Msg 7415, Level 16, State 1, Line 1
Ad hoc access to OLE DB provider 'Microsoft.Jet.OLEDB.4.0' has been denied. You must access this provider through a linked server.
Что я делаю не так?
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456692
ShamanusАлександр Великий,

получается содержимое этого файла это параметры для запроса (т.е. 2 записи одной строки это ключ для join-а)? Так?

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

В зависимости от используемого драйвера методика разная, но суть не меняется.
Например с ADO это сделать удобнее.
Да это так. Я вот тож хочу сделать процедуру, но для этого надо хотя бы попробовать получить данные с Экселя. А потом уже дело должно пойти. Просто я с импотртом данных не сталкивался, поэтому пока сложно определится и как это сделать.
Поподробнее про шаги выполнения всего, можно.
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456726
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Великий,

Ну если я верно понял то у Вас вот такая связка.
Есть файл Excel содержащий N строк и M столбцов

В каждой строке есть 2 поля составляющих ключ например Пол - Возраст

Есть файл excel содержащий в чистом виде данные Пол-Возраст-"Уровень Дохода"

Вам нужно в Ваш файл записать в столбик M+1 "Уровень дохода" для той группы которая содержится в данной строке.

Так?
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456735
ShamanusАлександр Великий,

Ну если я верно понял то у Вас вот такая связка.
Есть файл Excel содержащий N строк и M столбцов

В каждой строке есть 2 поля составляющих ключ например Пол - Возраст

Есть файл excel содержащий в чистом виде данные Пол-Возраст-"Уровень Дохода"

Вам нужно в Ваш файл записать в столбик M+1 "Уровень дохода" для той группы которая содержится в данной строке.

Так?
Не совсем так есть
Есть файл excel содержащий в чистом виде данные Пол-Возраст-"Уровень Дохода"- есть база данных с этими данными. Вот мне нужно из БД отобрать их и вложить в эксель.
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456747
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Великий,

Тогда ничего не понял. Мне показалось что БАЗА- это просто другой файл Excel.

Т.е. Вам нужно из одного Excel файла импортировать в другой ВСЮ инфу?
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456753
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Великий,

Поясните что есть БД?
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456770
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shamanus,

Автор упоминал SQL Query Analyzer

Следовательно - MSSQL
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456776
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProShamanus,

Автор упоминал SQL Query Analyzer

Следовательно - MSSQL

просто меня пока смущает название темы Импорт данных из экселя а эксель
Просто если так, то описывать автору коннект к другому Excel файлу средствами VBA это запудрить мозги, все можно реализовать куда проще.
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456782
ShamanusShocker.ProShamanus,

Автор упоминал SQL Query Analyzer

Следовательно - MSSQL

просто меня пока смущает название темы Импорт данных из экселя а эксель
Просто если так, то описывать автору коннект к другому Excel файлу средствами VBA это запудрить мозги, все можно реализовать куда проще.
объясни как проще?
Желательно создать процедуру, запрос в SQL Query Analyzer. Который будет импортировать данные с экселя и сравнивать их с запросом из базы данных
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456785
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shamanus,

из первого сообщения:
"Нужно создать запрос в базе данных"
"по поводу связки Экселя с БД"

видимо автору нужно почетче сформулировать среду, в которой он работает
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456791
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ВеликийЖелательно создать процедуру, запрос в SQL Query Analyzer. Который будет импортировать данные с экселя и сравнивать их с запросом из базы данных

Ну сам запрос вы сказали, что напишете.

А из QA открывать через OPENROWSET или через Linked Server. А если это операция разовая, можно не морочиться, просто провести один раз импорт эксельного файла в БД через мастер и работать уже там.

П.С. Имейте ввиду, что путь к файлу у вас не на том компе, где QA, а на том компе, где сервер.
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456855
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Великий
Желательно создать процедуру, запрос в SQL Query Analyzer. Который будет импортировать данные с экселя и сравнивать их с запросом из базы данных

ну если так то тут помочь не смогу
могу помочь в импорте данных из MSSQL в Excel
или из Excel в Excel (без открытия файла)
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456857
Shocker.ProАлександр ВеликийЖелательно создать процедуру, запрос в SQL Query Analyzer. Который будет импортировать данные с экселя и сравнивать их с запросом из базы данных

Ну сам запрос вы сказали, что напишете.

А из QA открывать через OPENROWSET или через Linked Server. А если это операция разовая, можно не морочиться, просто провести один раз импорт эксельного файла в БД через мастер и работать уже там.

П.С. Имейте ввиду, что путь к файлу у вас не на том компе, где QA, а на том компе, где сервер.
А как прописать тогда путь к файлу не на сервере.
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456874
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ВеликийА как прописать тогда путь к файлу не на сервере.

В смысле? Как и к любому другому файлу на сетевом ресурсе.
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456877
ShamanusАлександр Великий
Желательно создать процедуру, запрос в SQL Query Analyzer. Который будет импортировать данные с экселя и сравнивать их с запросом из базы данных

ну если так то тут помочь не смогу
могу помочь в импорте данных из MSSQL в Excel
или из Excel в Excel (без открытия файла)
Вот давайте объясните ситуацию из Excel в Excel (без открытия файла).
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456889
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Великий,

один к одному? Могу дать процедуру в массив пишет содержимое листа Excel.
...
Рейтинг: 0 / 0
Импорт данных из экселя а эксель
    #36456908
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Великий,

искал

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
Sub GetExcel(strSourceFile As String, strSQL As String, ByRef Massiv() As Variant)
Dim cn As ADODB.Connection
Dim rstTemp As ADODB.Recordset

Set cn = New ADODB.Connection
cn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DriverId=790;ReadOnly=True;" & "DBQ=" & strSourceFile & ";"
Set rstTemp = New ADODB.Recordset

rstTemp.Open strSQL, cn, adOpenForwardOnly, adLockReadOnly, adCmdText

Erase Massiv
    x =  1 
    y =  0 
    With rstTemp
        Do While Not .EOF
                     .MoveNext
                      x = x +  1 
                      If Not (.EOF) And x =  2  Then
                    
                        On Error GoTo MyLa
                            For i =  0  To  256 
                            If Not IsNull(.Fields(i)) Then y = y +  1 
                            Next i
MyLa:

                      End If
            Loop
    End With

ReDim Massiv( 1  To x,  1  To y) As Variant

rstTemp.MoveFirst
                For i =  0  To y -  1 
                Massiv( 1 , i +  1 ) = rstTemp.Fields(i).Name
                Next i
            
            For j =  0  To x -  2 
                For i =  0  To y -  1 
                Massiv(j +  2 , i +  1 ) = rstTemp.Fields(i)
                Next i
            rstTemp.MoveNext
            Next j

rstTemp.Close
cn.Close

Set rstTemp = Nothing
Set cn = Nothing

End Sub


Sub DOIT()
Dim strSourceFile As String, strSQL As String, Massiv() As Variant
strSourceFile = "E:\Test\1.xls"
strSQL = "SELECT * FROM `Лист1$`;"

Call GetExcel(strSourceFile, strSQL, Massiv)

For i =  1  To UBound(Massiv,  1 )
    For j =  1  To UBound(Massiv,  2 )
        Sheets( 1 ).Cells(i, j) = Massiv(i, j)
    Next j
Next i

End Sub
...
Рейтинг: 0 / 0
25 сообщений из 41, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Импорт данных из экселя а эксель
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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