![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Экспорт 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.