Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Kallli
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 19
#1

Вывод из делфи в эксель - Delphi

26.04.2017, 23:53. Просмотров 567. Ответов 23
Метки нет (Все метки)

Здравствуйте, я подключила базу данных к делфи и через него вывела на отчет одну из таблиц в эксель. Как сделать прорисовку всех заполненных ячеек в экселе с учетом того, что объем данных в таблице может меняться??? У меня получилась лишь прорисовка одной строки XL.Application.Range['A2','D2'].Borders.LineStyle :=1; Пожалуйста, подскажите, если такое возможно.

http://www.cyberforum.ru/delphi-beginners/thread1598710.html

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2017, 23:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывод из делфи в эксель (Delphi):

Капча ВК / вывод в делфи
Всем привет. Нужен скрипт, лучше исходник ) на delphi. С авторизацией...

Вывод графики на форму ДЕЛФИ.
Инструменты рисования – отрезок и ломанная. Создать панель инструментов,...

Задание в Делфи. Вывод информации
Сведения о студенте техникума: код группы; номер по журналу; ФИО; пол; дата...

Вывод координат введенных в делфи в автокад
Здравствуйте форумчане. Нужна ваша помощь. В программе, после ввода данных на...

Вывод полей записи в Делфи по условию.
unit Unit3; interface uses Windows, Messages, SysUtils, Variants,...

23
rusqwe
59 / 59 / 26
Регистрация: 30.05.2016
Сообщений: 284
Завершенные тесты: 3
27.04.2017, 08:28 #2
Delphi
1
XL.Application.Range['A2:D' + inttostr(MyQuery.RecordCount+1)].Borders.LineStyle :=1
1
droider
Universal
Эксперт Pascal/Delphi
4383 / 2431 / 762
Регистрация: 04.10.2012
Сообщений: 8,847
27.04.2017, 10:20 #3
Лучший ответ Сообщение было отмечено Kallli как решение

Решение

Цитата Сообщение от Kallli Посмотреть сообщение
подскажите, если такое возможно
возможно. Пример экспорта.
1
Kallli
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 19
27.04.2017, 15:31  [ТС] #4
Спасибо, но у меня не запрос, и из-за этого на MyQuery ругается

Добавлено через 1 минуту
Огромное спасибо, сейчас попробую

Добавлено через 8 минут
Все получилось! только с колонками надо помудрить немного, первая не нужна... Большое Вам спасибо!!

Добавлено через 4 часа 1 минуту
droider, а не подскажете, как ограничить заполняемые столбцы? т.е. заполняет все 1,2,3,4, а нужно к примеру 2,3,4??
0
droider
Universal
Эксперт Pascal/Delphi
4383 / 2431 / 762
Регистрация: 04.10.2012
Сообщений: 8,847
27.04.2017, 15:38 #5
Цитата Сообщение от Kallli Посмотреть сообщение
заполняет все 1,2,3,4, а нужно к примеру 2,3,4
Delphi
1
2
3
4
5
6
7
8
9
10
//...
While not ADOQuery1.EOF do
Begin
For j := 2 To DBGrid1.Columns.Count do //здесь
Begin
ArrayData[ ADOQuery1.RecNo, j] :=
ADOQuery1.FieldbyName( ADOQuery1.Fields[j - 1].FieldName).value;
End;
ADOQuery1.Next;
//...
1
Kallli
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 19
27.04.2017, 15:49  [ТС] #6
droider, я так делала, он столбец не прописывает, но оставляет пустой ..
0
droider
Universal
Эксперт Pascal/Delphi
4383 / 2431 / 762
Регистрация: 04.10.2012
Сообщений: 8,847
27.04.2017, 16:01 #7
еще шапку подправьте
Delphi
1
2
3
4
5
6
for k :=2 to DBGrid1.FieldCount do
if DBGrid1.Columns.Items[k-1].Visible then
begin
i :=i+1;
 ExcelApp.cells[1,i] :=DBGrid1.Columns.Items[k-1].Title.caption;
end;
1
Kallli
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 19
27.04.2017, 16:15  [ТС] #8
droider, ууух неделю борюсь с этим, у самой не выходила прорисовка... сейчас исправила как Вы сказали, но столбцы отображаются все, но первый (как исправила) стал просто пустой..а после изменения шапки вообще ничего не поменялось((((( блиин так отчет хороший охото сделать(((

Добавлено через 2 минуты
droider, я с такой код сама делала
var
XL ,Sheet:variant; //экселевский
n,m,i,j,k,col,x:integer;
begin
XL:=createOleObject('Excel.Application');//вызов экселя
XL.Visible:=true;
XL.WorkBooks.ADD(GetCurrentDir+'\gid.xlt'); //открытие нашего шаблона
DM.ADOT_Gid.First(); // в таблице устан курсор на 1 запись
for j:=3 to (DM.ADOT_Gid.RecordCount+2) do
begin
XL.Application.Cells.Item[j,1]:=DM.ADOT_GidFamGid.Value;//присваиваем знач ячейки
XL.Application.Cells.Item[j,2]:=DM.ADOT_GidImGid.Value;//присваиваем знач ячейки
XL.Application.Cells.Item[j,3]:=DM.ADOT_GidOtcGid.Value;//присваиваем знач ячейки
XL.Application.Cells.Item[j,4]:=DM.ADOT_GidTelefonGid.Value;//присваиваем знач ячейки
DM.ADOT_Gid.Next; //переходы на след. строки
end;

линию прорисовывала так:
XL.Application.Range['A2','D2'].Borders.LineStyle :=1;, но увы лишь одну
0
droider
Universal
Эксперт Pascal/Delphi
4383 / 2431 / 762
Регистрация: 04.10.2012
Сообщений: 8,847
27.04.2017, 16:26 #9
Kallli, Вы шаблон заполняете? Приложите проект и шаблон отчета.
1
Kallli
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 19
27.04.2017, 16:30  [ТС] #10
сейчас попробую..просто впервые на форуме)
0
Kallli
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 19
27.04.2017, 16:37  [ТС] #11
droider, так вот экселевский
0
Вложения
Тип файла: xlsx gid1.xlsx (11.4 Кб, 3 просмотров)
Kallli
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 19
27.04.2017, 16:37  [ТС] #12
droider, а проект целиком в архиве нужно,да?? извините, что отвлекаю
0
droider
Universal
Эксперт Pascal/Delphi
4383 / 2431 / 762
Регистрация: 04.10.2012
Сообщений: 8,847
27.04.2017, 17:05 #13
Цитата Сообщение от Kallli Посмотреть сообщение
проект целиком в архиве нужно,да??
да, в архиве
1
Kallli
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 19
27.04.2017, 17:20  [ТС] #14
droider, так, тогда вот моя курсовая, и ещё лучше другой отчет..программа моя старая, но проблема та же..........иии не загружает((( ошибка 413 Request Entity Too Large
0
droider
Universal
Эксперт Pascal/Delphi
4383 / 2431 / 762
Регистрация: 04.10.2012
Сообщений: 8,847
27.04.2017, 17:25 #15
Kallli, слишком большой объем архива. Ограничение - 10 Мб.
1
Kallli
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 19
27.04.2017, 17:30  [ТС] #16
droider, ну как так(( по максимуму удалила все...все равно 18 мб...(((((
0
droider
Universal
Эксперт Pascal/Delphi
4383 / 2431 / 762
Регистрация: 04.10.2012
Сообщений: 8,847
27.04.2017, 17:38 #17
Kallli, сколько весит файл базы?
1
Kallli
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 19
27.04.2017, 17:42  [ТС] #18
droider, _data примерно 42 кб и _log 22
0
droider
Universal
Эксперт Pascal/Delphi
4383 / 2431 / 762
Регистрация: 04.10.2012
Сообщений: 8,847
27.04.2017, 20:45 #19
Цитата Сообщение от Kallli Посмотреть сообщение
_data примерно 42 кб и _log 22
???....
У Вас какая СУБД вообще?

Добавлено через 1 минуту
Экспорт данных в новый документ Excel несколько отличается от экспорта в шаблон, в зависимости от самого шаблона.
1
Kallli
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 19
27.04.2017, 21:30  [ТС] #20
droider, я использую sql server сама база весит сколько я писала выше, а программа на делфи со всеми прилагающими 79 мб, а в ахриве 18
я сама делала в шаблон, а как Вы писали, то соответственно новый документ
0
27.04.2017, 21:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2017, 21:30
Привет! Вот еще темы с решениями:

Тест на делфи, сделать вывод результата
Тест на делфи. Нужно сделать в label в зависимости от количества ответов вывод...

Вывод значений матрицы на отдельный список с координатами, Делфи
Ребят надо помощь. Надо вывести значение матрицы, когда на неё нажимаешь (уже с...

Как в Делфи выполнить код, написанный на Делфи, например в поле ввода?
Есть способ в Делфи выполнить код, написанный на Делфи, например в поле ввода?

Здр, пожалуйста попробуйте запутсить .exe написанное на делфи 10 у себя, те у кого делфи 7
и скиньте скрин пожалуйста срочно http://www.fayloobmennik.net/4874373 перед...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru