Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Экспорт SQL в EXCEL [D5, dBase, FoxPro, Paradox]


Mery ©   (2004-01-06 07:52:00) 

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


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

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


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

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


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

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


Ильш   (2004-01-06 09:55:00) [4]


> Mery (06.01.04 09:52) [13]

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


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

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


Ильш   (2004-01-06 09:38:00) [6]


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

не надо ! :)

> Cell.Value

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


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

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


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

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


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

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


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

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:="


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

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


Johnmen   (2004-01-06 09:16:00) [12]

>Mery

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


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

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


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

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

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


Ильш   (2004-01-06 08:11:00) [15]

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


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

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


Ильш   (2004-01-06 07:54:00) [17]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо