Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];

Вниз

Экспорт 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.01 c
4-2420
Вадим
2003-11-25 10:00
2004.02.02
Поверх всех окон


14-2275
Petr V. Abramov
2004-01-09 16:46
2004.02.02
Фоторепортаж с MMP


7-2389
Arm79
2003-11-14 14:30
2004.02.02
потоки


1-2133
chtr
2004-01-19 14:46
2004.02.02
Свойства формы как у диалога


14-2358
kdoe
2004-01-10 15:08
2004.02.02
Как добавить программу в автозагрузку виндоса ХР?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский