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