Форум: "Базы";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];
ВнизВывод значений в 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c