powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как передать в ексель выборку из БД?
10 сообщений из 10, страница 1 из 1
Как передать в ексель выборку из БД?
    #33511768
strizzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть БД в SQL Server, необходимо сделать выборку "select * where col1=value" и передать все данные в ексель. То есть хотелось бы узнать можно ли передать таблицу разом, а не прописовать каждую ячейку?
...
Рейтинг: 0 / 0
Как передать в ексель выборку из БД?
    #33511780
Dats
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не от того пляшете.
Отталкиваться лучше наоборот от Exel. Была в офисе утилитка с помощью которой легко и просто запросы делались к любой базе данных прямо из Exel, Word и любой офисной программы.
...
Рейтинг: 0 / 0
Как передать в ексель выборку из БД?
    #33511936
laleks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из личного опыта:
1. Хранимая процедура готовит набор дданных. (MSSQL 2000)
2. Набор данных принимает програма разработанная в Delphi 7.
3. Для доступа к Excel используется ComObj.
4. С помощью Variants создается массив данных в памяти (ArrayData).
5. Набор данных (от хранимой процедуры) перегоняется в ArrayData.
6. ArrayData перегоняется в Excel (используется Range).

Технологические и временные затраты.
(W2000, Компьютер: 1, 5 гц, 256 mgb)
1. Хранимая процедура = 12 800 записей (более 10 inner join, подзапросы тройной вложенности) на персональном MSSQL 2000 = 15 сек.
2. Перегон в ArrayData = 20 сек.
3. Перегон в Excel =20 сек.
...
Рейтинг: 0 / 0
Как передать в ексель выборку из БД?
    #33512253
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему бы не использовать
утилит Data Transform Sarvice DTS в SQL Server 2000
можно экспортировать импортировать данные включая выборку по запросу, так же можно импортировать весь код процедуры в VB создается модуль со всеми параметрами выбранными тобой тебе нужно тлько прицепить модуль к проетку и запустить при необходимости
...
Рейтинг: 0 / 0
Как передать в ексель выборку из БД?
    #33512360
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставка данных из рекордсета в лист Excell
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
'создаем заголовок
For iCols =  0  to rs.Fields.Count -  1 
    ws.Cells( 1 , iCols +  1 ).Value = rs.Fields(iCols).Name
Next
ws.Range(ws.Cells( 1 ,  1 ),  _
    ws.Cells( 1 , rs.Fields.Count)).Font.Bold = True
'вставляем данные
ws.Range("A2").CopyFromRecordset rs

а если нужны только данные, то еще проще
Код: plaintext
ws.Range("A2").CopyFromRecordset rs
...
Рейтинг: 0 / 0
Как передать в ексель выборку из БД?
    #33512370
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TIKO прав, но есть и еще один вариант. В сиквеле есть замечательное средство OpenDataSource, которое по скорости не уступает DTS, но зато позволяет не заморачиваться с пакетами. Просто выполните в QA
Код: plaintext
1.
2.
3.
4.
INSERT
OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="D:\QTemplate\mTemplate\Import";Extended properties=dBase 5.0')...kl_se (SE_C, SE_N, Id)
select se_c, se_n, id from  kl_se

Это пример для DBF. А для экселя будет другой Data Source, и всего делов.
...
Рейтинг: 0 / 0
Как передать в ексель выборку из БД?
    #33513665
strizzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем спасибо. всё получилось.
...
Рейтинг: 0 / 0
Как передать в ексель выборку из БД?
    #33517605
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В главном меню Экселя:
Data->Get External Data->New Database Query
Все.
...
Рейтинг: 0 / 0
Как передать в ексель выборку из БД?
    #33587281
strizzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возникла новая проблема, необходимо установить автофильтр в Excele из приложения. Такое возможно?
...
Рейтинг: 0 / 0
Как передать в ексель выборку из БД?
    #33587356
strizzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или даже лучще удалить все кроме первой строки в документе.

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

то есть, необходимо либо из программы ставить автофильтр или удалять все кроме первой строки.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как передать в ексель выборку из БД?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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