Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.011 c
1-30372
Intell
2003-03-28 20:02
2003.04.10
Как приложение сделать активным?


3-30271
bytebutcher
2003-03-21 17:09
2003.04.10
Как программно выбрать значение в DBLookupComboBox?


14-30566
Blacki
2003-03-25 00:20
2003.04.10
Color Text to RTF


8-30475
Макс1
2003-01-03 15:01
2003.04.10
Распознование изображений


14-30540
Страждущий
2003-03-20 22:58
2003.04.10
---|Ветка была без названия|---





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский