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

Вниз

Вывод значений в Excel   Найти похожие ветки 

 
Jaxtor ©   (2003-03-24 11:40) [0]

Уважаемые мастера!
У меня не получается составить алгоритм для одной прораммы.
Суть заключается в том, что нужно вывести в файл Excel
цена1,цена2,цена3, дилер1,дилер2,дилер 3 и строку
адреса и состояние склада.

var Columns:=TStringList.Create;

ExcelCol:=TExcelColForm.Create(Application);
i:=ExcelCol.ShowModal-1;

if i>0 then
begin
Columns:=TStringList.Create;
if (i and 1)>0 then Columns.Add("Price1");
if (i and 2)>0 then Columns.Add("Price2");
if (i and 4)>0 then Columns.Add("Price3");
if (i and 8)>0 then Columns.Add("Dealer1");
if (i and 16)>0 then Columns.Add("Dealer2");

if (i and 32)>0 then Columns.Add("Dealer3");

if (i and 64)>0 then Columns.Add("Address");
if (i and 128)>0 then Columns.Add("Stock");

Excel:=CreateOleObject("Excel.Application");

while not EOF do //вставлям данные; EOF - конец набора данных
//qrProd1

begin

Inc(Row); //следующий Excel ряд

// вывод значений для определенного ряда PN, Product, Waranty
Excel.ActiveSheet.Cells[Row,11].Value:=FieldByName("PN").AsString;
Excel.ActiveSheet.Cells[Row,12].Value:=FieldByName("Product").AsString;
Excel.ActiveSheet.Cells[Row,13].Value:=FieldByName("Waranty").AsString;

for i:=0 to (Columns.Count-1) do begin
// запись значений для определенного ряда Price1,
//Price2, //Price3, Dealer1, Dealer2, Dealer3, Address, Stock
// из набора данных qrProd1

// i - это сдвиг ячейки
// Если выбраны цены:
Excel.ActiveSheet.Columns[14+i].ColumnWidth:=10;
Excel.ActiveSheet.Cells[Row,14+i].Value:=FormatFloat("0.00",FieldByName(Columns[i]).asFloat);
Excel.ActiveSheet.Cells[Row,14+i].Value:=" http://www.xxxxxx.xx/index.phtml?WFi=19&WFgrup="+FieldByName("ProdGrID").AsString+"&WFw=ProdID="+FieldByName("ProdID").AsString;

//Если вместе с ценами выбран и склад
//поиск у вендоров определенной позиции
dmTsn.qrVenStSearch.ParamByName("ProdID").AsString:=FieldByName("ProdID").AsString;
dmTsn.qrVenStSearch.Open;

// запись значений для определенного ряда (состояние склада)
Excel.ActiveSheet.Cells[Row,14+i].Value:=dmTsn.qrVenStSearch.FieldByName("State").AsString;

dmTsn.qrVenStSearch.Close;
end;//for i

Next;

end;// //while not EOF


 
Wellslava ©   (2003-03-24 11:45) [1]

я использую одну библиотечку SMExport... там все очень хорошо реализовано и в Exel и в Word и др.


 
Jaxtor ©   (2003-03-24 11:46) [2]

Да тут все работает только нужно было добавить строку адреса
и состояние склада.


 
Соловьев ©   (2003-03-24 11:51) [3]

http://www.delphikingdom.com/helloworld/excelsm.htm

> Да тут все работает только нужно было добавить строку адреса
>
> и состояние склада.

А в чем трабл? Ошибку выдает или что?


 
Jaxtor ©   (2003-03-24 11:53) [4]

Не правильно данные в Excele показывает.


 
Соловьев ©   (2003-03-24 11:55) [5]


> Не правильно данные в Excele показывает.

Это как понимать? смещены поля или что?



 
Jaxtor ©   (2003-03-24 12:02) [6]

Да, поля смещены....


 
Соловьев ©   (2003-03-24 12:09) [7]

Т.е. ты решил что мы рассмотрим твой код сами, а тебе лень это сделать? Так никогда не научишся...
ИМХО, не нужно этот цыкл

> for i:=0 to (Columns.Count-1) do begin

сделай как

> // вывод значений для определенного ряда PN, Product, Waranty





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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
1-30431
klyonov
2003-03-29 08:27
2003.04.10
Насчет Drag&Dock


7-30632
@Ujin
2003-02-14 23:35
2003.04.10
И опять про печать...


3-30248
Ghost_
2003-03-20 17:30
2003.04.10
Full dBASE expressions not supported


4-30664
{{{KOTOS}}}
2003-02-10 17:15
2003.04.10
Как мне поймать событие


3-30265
off
2003-03-20 13:02
2003.04.10
Поиск в IB?