Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
4 / 4 / 0
Регистрация: 28.09.2012
Сообщений: 178

Вывод из DBGrid в Excel

20.05.2014, 19:41. Показов 2890. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
ExcelApp : variant;
row :integer;
col, index:integer;
begin
{dbgrid1.DataSource.DataSet.First; }
adoquery1.First;
ExcelApp:=CreateOleObject('Excel.Application');
ExcelApp.workbooks.open(ExtractFilePath(ParamStr(0))+'OtchetPokyp1.xlsx');
ExcelApp.Visible := false;
ExcelApp.WorkBooks[1].WorkSheets[1].Name := 'Îò÷åò1';
for row :=0 to DBGrid1.DataSource.DataSet.RecordCount-1 do
begin
for col :=0 to DBGrid1.Columns.Count-1 do
begin
ADOQuery1.Next;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[row+7,col+1].value:=dbgrid1.DataSource.DataSet.Fields[col].AsString;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[row+7,1]:=row+1;
end;
ExcelApp.Visible := True;
  end; end;
Експортирует только последнюю запись на все места строк!!!
Что не так плиз помогите!!!!! не могу разобраться!!!

Добавлено через 12 секунд
хелп

Добавлено через 20 минут
ну кто нить!!! Я еще через фаст репорт 4 пытался отчет сделаль, там только одну эту же запись выводит, почему???
1
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2014, 19:41
Ответы с готовыми решениями:

Вывод из DBGrid в Excel
Добрый день, подскажите пожалуйста как сделать вывод из dbgrid в exсel корректным? У меня сейчас вообще выводится база данных в ексель, но...

Вывод из DBGrid в Excel
procedure TForm4.Button6Click(Sender: TObject); var ExcelApp : variant; row :integer; col, index:integer; begin ...

Вывод данных из dbGrid B Excel
Всем здравствуйте, помогите вывести таблицу в эксель, без новых компонентов. Таблица создается программно. Сам проект тут, таблица, которую...

8
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
20.05.2014, 20:32
Лучший ответ Сообщение было отмечено Slalom как решение

Решение

Вызов ADOQuery1.Next; не на месте: во внутреннем цикле, а должен быть в конце внешнего (for row...).

И еще. Есть уверенность на 100% что DBGrid1.DataSource.DataSet это ADOQuery1?
1
4 / 4 / 0
Регистрация: 28.09.2012
Сообщений: 178
20.05.2014, 22:31  [ТС]
Скандербег, да!

Добавлено через 42 секунды
это пплохо?

Добавлено через 9 минут
Скандербег,Точно про ADOQuery)) Все Работает!!!!!!! Спасибо!!!
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
20.05.2014, 22:38
Это очень медленный способ экспорта. Особенно для большого количества строк (скажем, 35 тыс.).
Гораздо быстрее можно сделать через вариантный массив.
0
4 / 4 / 0
Регистрация: 28.09.2012
Сообщений: 178
20.05.2014, 23:05  [ТС]
droider, Мне лишь для печати отчета, просто не охото fast rep ставить
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
20.05.2014, 23:06
Цитата Сообщение от Slalom Посмотреть сообщение
не охото fast rep ставить
он необязателен. Дело Ваше.
0
4 / 4 / 0
Регистрация: 28.09.2012
Сообщений: 178
20.05.2014, 23:55  [ТС]
droider, не скажете как задать, что при условии печати
Code
1
ExcelApp.Worksheets[1].PrintOut;
производим изменения в строках БД которые распечатали????

Добавлено через 20 минут
droider,
Code
1
2
ADOQuery1.SQL.Add('UPDATE iTZ SET ÑÒÀÒÓÑ ='+QuotedStr(ComboBox2.text)+' WHERE ÑÒÀÒÓÑ = Îòðàáîòàí');
     ADOQuery1.Active:=true;
Ошибка синтаксиса в предложении FROM
что не так?
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
21.05.2014, 09:27
Цитата Сообщение от Slalom Посмотреть сообщение
что не так?
Попробуйте так
Delphi
1
2
3
4
5
6
7
8
with ADOQuery1 do
begin
    Active:=False; 
    SQL.Clear; 
    SQL.Text :='UPDATE iTZ SET STATUS = '+QuotedStr(ComboBox2.Items[ComboBox2.ItemIndex])+
' WHERE STATUS = "Отработан"';
    ExecSQL;
end;
0
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 2
21.05.2014, 22:49
Надеюсь помогу.В документе все подробно описано.
Вложения
Тип файла: rar Создание отчетов в Delphi.rar (372.6 Кб, 96 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.05.2014, 22:49
Помогаю со студенческими работами здесь

DBGrid в Excel вывод отдельных записей
Вывожу из DBGrid в Excel и возникает проблема, я хочу выводить записи с 1-10 через строку с 11 по 14 и через строку 15 запись. Помогите! ...

Вывод параметрических запросов из dbgrid в excel
доброго времени суток. вот с чем столкнулся, вернее что не пойму как сделать: при нажатии на кнопку в dbgrid появляется результат...

Вывод информации из DBGrid в шаблон Excel
Добрый день! Перечитал кучу информации по заезженной теме, на всех сайтах и форумах, включая мой любимый cyberforum, смог сделать то, что...

Вывод DBGrid в виде таблицы Excel
Я понимаю что в форуме и в интернете этих тем куча,но я все равно не догоняю как его вывести На фотке есть БД и элементы которые я к ней...

Не могу на Delphi 10.1 сделать вывод отчета из DBGRid в Excel!
Вот код, просьба знающим подсказать в решении моего вопроса, спасибо) По нажатию на кнопку BitBtn4. Это моя первая программа не судите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru