Здравствуйте, Vodyamba, Вы писали:
V>Здравствуйте, Original, Вы писали:
O>>Здравствуйте, Vodyamba, Вы писали:
V>>>Здравствуйте, Original, Вы писали:
O>>>>Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...
V>>>Можно использовать стандартный компонент TexcelApplication, для экспорта вполне хватит.
V>>>Он не очень удобный, но зато работает. И не надо ничего ниоткуда скачивать и устанавливать.
O>>Спасибо за подсказку, я знаю что этим компонентом можно пользоваться , но мне нужен пример, если есть то пожалуйста покажите ..
V>Готовая функция, ей надо передать только параметр query или подобный и создастся окно экселя в котором всё это отображается...
V>Писал сам, уже не помню для чего, но работала... а у OLE объектов ничего не меняется...
V>V>Procedure v_export_excel(const q1:TDataset);
V>Var
V>TabGrid,xl,wb,ws:variant;
V>i,j,c,r:integer;
V>begin
V> if q1.Active=true then
V> Begin
V> q1.DisableControls;
V> try
V> Xl := CreateOleObject('Excel.Application');
V> Xl.WorkBooks.Add;
V> Wb := Xl.Workbooks[1];
V> Ws := Wb.Worksheets[1];
V> q1.First;
V> //Заполнение матрицы (Занесение наименования полей в матрицу)
V> R := q1.RecordCount;
V> C := q1.FieldCount;
V> TabGrid := VarArrayCreate([0, R, 0, (C - 1)], VarOleStr);
V> for i:=0 to q1.FieldCount-1 do
V> TabGrid[0, i] := q1.Fields[i].FieldName;
V> //Заполнение матрицы
V> for i:=1 to r do
V> Begin
V> for j:=0 to c-1 do
V> Begin
V> if q1.Fields[j].AsVariant<>null then
V> try
V> TabGrid[I, J] := q1.Fields[j].value;
V> except Application.MessageBox(Pchar('В процессе заполнения матрицы возникла ошибка: '+'Строка №-'+inttostr(i)+' Столбец №-'+inttostr(j)),'Обратитесь к разработчику'); end;
V> end;
V> q1.Next;
V> end;
V> Ws.Range['A1', Ws.Cells.Item[R+1, C]].Value2 :=TabGrid;
V> xl.visible:=true;
V> ws:=unassigned;
V> wb:=unassigned;
V> xl:=unassigned;
V> except
V> on E : exception do
V> Begin
V> Application.MessageBox(pchar('Невозможно экспортировать данные'+#10+#13+'Наименование ошибки - '+e.message),'Обратитесь к разработчику',MB_OK + MB_ICONASTERISK);
V> q1.EnableControls;
V> xl.visible:=false; ws:=unassigned;
V> wb:=unassigned; xl:=unassigned;
V> end;
V> end;
V> q1.EnableControls;
V> end;
V>end;
V>
спасибо огромное ... всё заработало ....
то что нужно ...
только нужны коекие изменения насчёт фонтов сделать .... и всё будет в норме думаю