Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
2 / 2 / 0
Регистрация: 13.06.2018
Сообщений: 47
1

Вывод отчета из Delphi в Excel через ADOQuery

13.06.2018, 23:18. Показов 2392. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребятки, помогите пожалуйста, может я тупой просто, но нужно вывести отчет из Delphi в Excel из запроса в ADOQuery
Запрос SQL
T-SQL
1
2
SELECT Спецификация_расходов.[ИД_Спецификации], Спецификация_расходов.Обозначение_расходов, Спецификация_расходов.Количество, Спецификация_расходов.Сумма, Спецификация_расходов.ИД_Расхода, Спецификация_расходов.ИД_Вида,Расходы.Дата
FROM Спецификация_расходов INNER JOIN Расходы on(Спецификация_расходов.ИД_Расхода=Расходы.ИД_Расхода)
Проверял в самом MSSQL, там все выводит хорошо, но в делфи выводит не до конца, а если быть точным, то пропускает столбец один и дальше съезжает уже по значениям.
Код с выводом
Delphi
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
var
Index: Integer;
Excel,Sheet: Variant;
begin
  Excel := CreateOleObject('Excel.Application');
  Excel.Application.EnableEvents := false;
  Excel.Workbooks.Open(GetCurrentDir() + '\Тесты.xlsx');
  Excel.Visible := true;
  Sheet:=Excel.WorkBooks[1].WorkSheets['Отчет'];
  Excel.Range['A5']:='№';
  Excel.Range['B5']:='Наименование закупки';
  Excel.Range['C5']:='Сумма';
  Excel.Range['E5']:='Количество';
  Excel.Range['F5']:='Номер расхода';
  Excel.Range['G5']:='Номер вида расходов';
  Excel.Range['H5']:='Дата закупки';
  Excel.Range['C1']:=dbeNumber.Text;
  Excel.Range['A18']:='Сотрудник: ' + dblLN.Text + '  ' +dblFN.Text + '  ' + dblPat.Text;
  Index:=6;//строчка, с которой начинается заполнение
   with DM.Query do begin //первая строчка в таблице
   repeat
   DM.Query.First;
   Sheet.Cells[Index,1]:= DM.Query.Fields.Fields[0].AsString;
   Sheet.Cells[Index,2]:= DM.Query.Fields.Fields[1].AsString;
   Sheet.Cells[Index,3]:= DM.Query.Fields.Fields[2].AsString;
   Sheet.Cells[Index,4]:= DM.Query.Fields.Fields[3].AsString;
   Sheet.Cells[Index,5]:= DM.Query.Fields.Fields[4].AsString;
   Sheet.Cells[Index,6]:= DM.Query.Fields.Fields[5].AsString;
   Sheet.Cells[Index,7]:= DM.Query.Fields.Fields[6].AsString;
   Inc(Index);//следующая строка в таблице
   DM.Query.Next;
   until eof
  Excel.Application.Quit;
end;
Плюс скрины как выводятся данные в SQL и Excel
Миниатюры
Вывод отчета из Delphi в Excel через ADOQuery   Вывод отчета из Delphi в Excel через ADOQuery  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.06.2018, 23:18
Ответы с готовыми решениями:

Связал таблицы в AdoQuery через Sql запрос, для отчета. Сам отчет делаю в FastReport
Связал таблицы в AdoQuery через Sql запрос, для отчета. Сам отчет делаю в FastReport. Но при...

Создание отчета из таблицы Delphi в Excel
Здравствуйте. Помоги пожалуйста, у меня база данных по учету комп.техники, и мне нужно создать...

Запрос по дате через AdoQuery (Delphi DateTimePicker1)
Доброго времени суток! Не могу написать запрос в AdoQuery2 для вывода тех дат которые равны ...

Предварительный просмотр отчета через Excel
Здравствуйте, проблема:подскажите как в Delphi перед выгрузкой в Excel выводить предварительный...

1
 Аватар для krapotkin
5872 / 4600 / 1448
Регистрация: 14.04.2014
Сообщений: 20,415
Записей в блоге: 20
14.06.2018, 14:32 2
ну, если посмотреть внимательно, то можно найти колонку D
1
14.06.2018, 14:32
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.06.2018, 14:32
Помогаю со студенческими работами здесь

Создание отчета в Delphi через FastReport
Ребят,срочно! 16 защита диплома, не могу через fast report сделать отчет. В общем, есть 2 таблицы,...

Вывод отчета через word
Здравствуйте, возникла такая проблема... я делаю вывод отчетов через word, нужно сделать...

Delphi 7. Вывод отчета в Excel
Ребят такая загвоздка у меня. Как с делфи с сетки грид вывести инфу в excel так что бы excel...

Создание листа в Excel через ADOQuery
Как создать (добавить) новый лист в Excel через ADOQuery???


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
Как получить имя текущей ветки в Git
bytestream 24.01.2025
При работе с Git часто возникает необходимость определить имя текущей ветки, в которой ведется разработка. Знание текущей ветки является критически важным аспектом для эффективного управления. . .
Как отсортировать массив объектов по значению поля объекта в JavaScript
bytestream 24.01.2025
При разработке веб-приложений на JavaScript разработчики часто сталкиваются с необходимостью работать с массивами объектов. Эти структуры данных представляют собой упорядоченные наборы элементов, где. . .
Ошибка "src refspec master does not match any" при пуше коммита в Git
bytestream 24.01.2025
При работе с системой контроля версий Git разработчики нередко сталкиваются с различными ошибками, одной из которых является сообщение "src refspec master does not match any". Эта ошибка возникает. . .
Как округлить не более двух цифр после запятой в JavaScript
bytestream 24.01.2025
При работе с числами в JavaScript разработчики часто сталкиваются с необходимостью округления десятичных значений до определенного количества знаков после запятой. Это особенно важно при работе с. . .
Как сделать UPDATE из SELECT в SQL Server
hw_wired 24.01.2025
В современных системах управления базами данных операции обновления и выборки данных являются фундаментальными инструментами для работы с информацией. SQL Server предоставляет мощные команды UPDATE и. . .
Как вставить элемент в массив на указанный индекс в JavaScript
hw_wired 24.01.2025
Массивы являются одной из фундаментальных структур данных в JavaScript, предоставляющей разработчикам мощный инструмент для хранения и управления упорядоченными наборами данных. Они позволяют хранить. . .
Чем отличаются HashMap и Hashtable в Java
hw_wired 24.01.2025
В мире разработки на Java существует множество инструментов для работы с коллекциями данных, и среди них особое место занимают структуры данных для хранения пар ключ-значение. HashMap и Hashtable. . .
Как конвертировать видео в GIF
hw_wired 24.01.2025
В современном мире анимированные изображения стали неотъемлемой частью цифровой коммуникации. Формат GIF (Graphics Interchange Format) представляет собой особый тип файлов, который позволяет. . .
Как скопировать текст в буфер обмена на JavaScript во всех браузерах
hw_wired 24.01.2025
Копирование текста в буфер обмена стало неотъемлемой частью современных веб-приложений, значительно улучшающей пользовательский опыт и упрощающей работу с контентом. В эпоху активного обмена. . .
Как скрыть клавиатуру на Android
hw_wired 24.01.2025
При разработке Android-приложений часто возникает необходимость управлять видимостью экранной клавиатуры для улучшения пользовательского опыта. Одним из наиболее эффективных способов контроля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru