Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.02;
Скачать: CL | DM;

Вниз

Экспорт SQL в EXCEL   Найти похожие ветки 

 
Mery   (2004-01-06 07:52) [0]

Здравствуйте. У меня появилась такая проблема: необходимо отправить полученный запрос SQL, к примеру имеющий поля Pole1,pole2,pole3, в EXCEL, при этом должна сформироваться "шапка" отчета типа <Данные за январь> и заголовки столбцов типа "Наименование", "Кол-во", "Сумма". Этот отчет обязательно должен формироваться из самой программы при нажатии на кнопку.


 
Ильш ©   (2004-01-06 07:54) [1]

OLE OLE OLE - программер вперед!
Почитай про OLE Application.


 
Mery   (2004-01-06 07:58) [2]

Вызов EXCEL мне понятен, но как указать что такие-то поля и вывод "шапки". Это что, нужно массив организовать? Но как? Хотелось бы получить ответ конкретно с мною предложенным примером.


 
Ильш ©   (2004-01-06 08:11) [3]

Шапку ручками формируешь. В нужные ячейки нужные данные загоняешь. Ну а с запросом - в цикле пробегаешь по нему и гонишь данные. В нужный столбец перегоняешь данные из нужного поля, и так с каждой записью.


 
Mery   (2004-01-06 08:21) [4]

>В нужные ячейки нужные данные загоняешь. Ну а с запросом - в цикле пробегаешь по нему и гонишь данные. В нужный столбец перегоняешь данные из нужного поля, и так с каждой записью.

Я понимаю, что именно это и нужно сделать. Но как? Конкретно же спрашиваю: нужен программный код. Я ни разу этого не делала и представления об этом не имею. Поэтому и вопрос.


 
b0bi   (2004-01-06 09:14) [5]

как будет удобно, из Grid"a или из DataSet"a?


 
Johnmen ©   (2004-01-06 09:16) [6]

>Mery

А что фак говорит по этому поводу ? :))))))))


 
Mery   (2004-01-06 09:17) [7]

Из DataSet"a, пожалуйста


 
b0bi   (2004-01-06 09:21) [8]

Procedure ExportDataSet(DS:TDataSet; ss:Array of String);
var
WorkBook, Cell: Variant;
s:string;
i,j:Integer;
dese:Char;
Begin
Excel:=0;
Excel:=CreateOleObject("Excel.Application");
Excel.Visible:=True;

Excel.SheetsInNewWorkbook := 1;
WorkBook := Excel.WorkBooks.Add;
Sheet := WorkBook.WorkSheets[1];
Sheet.Cells.VerticalAlignment := $FFFFEFF4;// xlCenter
If Caption<>"" Then Sheet.Name:=Caption;

dese:=DecimalSeparator;

DecimalSeparator:=".";
Row:=1;

Sheet.Rows[Row].Font.Bold := True;
Sheet.Rows[Row].RowHeight:=40;

For i:=0 to Length(SS)-1 do
Begin
s:=SS[i];
Sheet.Cells[Row, i+1]:=s;

Cell:=Sheet.Cells[Row, i+1];
Cell.Borders.LineStyle:=1;
Cell.Interior.Color:=clLtGray;
End;

ds.First;

While not ds.Eof do
Begin
Inc(Row);
For i:=0 to Length(SS)-1 do
Begin
Cell:=Sheet.Cells[Row, i+1];

Case DS.Fields[i].DataType of
ftBoolean : If DS.Fields[i].AsBoolean then s:="


 
b0bi   (2004-01-06 09:22) [9]

да и забыл переменные
Var Col, Row,iRow : Integer;
Sheet:Variant;
Excel:Variant;
Caption:String;
USER: String;


 
b0bi   (2004-01-06 09:23) [10]

ещё есть хорошая компонента XLReport


 
Mery   (2004-01-06 09:29) [11]

Уточни, пожалуйста, Cell.Value-это шапка отчета и названий полей?
А сами поля запроса и их тип в var описывать не надо?


 
Ильш ©   (2004-01-06 09:38) [12]


> А сами поля запроса и их тип в var описывать не надо?

не надо ! :)

> Cell.Value

это ничья не шапка! о чем ты??? переведи же ну... это ж ты данные загоняешь в ячейку экселя


 
Mery   (2004-01-06 09:52) [13]

>bobi
Огромное спасибо за помощь и поддержку
>Ильш
Флаг в руки! Много гонора, в итоге помощи - ноль


 
Ильш ©   (2004-01-06 09:55) [14]


> Mery (06.01.04 09:52) [13]

Огромное пофиг!
Учись читать доки и искать хотя бы с помощью Яндекса. Там все с примерами.
А если серьезно - в вопросе ты не просила примеров сначала!!! Ну извини не успел запостить. Работать еще надо, кроме болтовни :)


 
Mery   (2004-01-06 09:59) [15]

Всем успехов!


 
nstur   (2004-01-06 11:50) [16]

Могу посоветовать
http://www.nstur.narod.ru/Delphi/excel1.html
http://www.nstur.narod.ru/Delphi/NsComponent/NslecxE2000.html


 
Mery   (2004-01-06 12:03) [17]

>nstur
Спасибо, возьмем на заметку.



Страницы: 1 вся ветка

Текущий архив: 2004.02.02;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
3-2020
Term
2004-01-06 15:43
2004.02.02
Посоветуйте компонент который бы 100% подерживал бы клиперовские


3-1993
Sfera
2004-01-10 12:18
2004.02.02
Очистка столбца


7-2383
TUser
2003-11-14 17:14
2004.02.02
Focus


14-2321
Teren
2004-01-09 00:15
2004.02.02
Любимые фильмы


6-2265
Andersen
2003-11-28 14:18
2004.02.02
Token пользователя