Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...
Здравствуйте, Original, Вы писали:
O>Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...
Здравствуйте, dRake, Вы писали:
R>Здравствуйте, Original, Вы писали:
O>>Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...
R>Вот компонент для работы с xls файлами, довольно удобная штука с простым апи. R>http://dopesoft.net/files/XLSReadWrite2.rar
спасибо за компонент.... а нельзя живы мпримером показать ? я все заморочки этого копонента изучу ... но ничего пока не врубился ..а мне надо срочно кочето сделать .... если ктото имеет живой пример ..просьба поделитсья .. заранее благодарен ..
Здравствуйте, Original, Вы писали:
O>Здравствуйте, dRake, Вы писали:
R>>Здравствуйте, Original, Вы писали:
O>>>Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...
R>>Вот компонент для работы с xls файлами, довольно удобная штука с простым апи. R>>http://dopesoft.net/files/XLSReadWrite2.rar
O>спасибо за компонент.... а нельзя живы мпримером показать ? я все заморочки этого копонента изучу ... но ничего пока не врубился ..а мне надо срочно кочето сделать .... если ктото имеет живой пример ..просьба поделитсья .. заранее благодарен ..
Кстати у меня на Builder6 компонент не скомпилировался (((
...
Может мне тоже кто поможет ... у меня вопрос-то похожий (во я подмазался под 4ужой топик )))
С меня требуют 4тобы старая ЕХЕЛЕВСКАЯ база переко4евала в мою mySQLевскую ... попробовал подрубиться к db.exl 4ерез ODBC ... коро4е говоря он подрубается ..... но проблема в том 4то я не знаю с какой стороны к этой рабости подойти .... ибо для SELECTа мне надо знать имя БД и имя ТАБЛИЦЫ ...попробовал те 4то в базе(по русски написаны)-матом меня кроет .... я обиделся и на РСДН полез ... помогите пожалуста ...6 4асов долбаюсь ... (просто старую базу писал ХЗ кто ... никто на фирме этого не помнит)
Здравствуйте, Original, Вы писали:
O>Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...
Можно использовать стандартный компонент TexcelApplication, для экспорта вполне хватит.
Он не очень удобный, но зато работает. И не надо ничего ниоткуда скачивать и устанавливать.
Здравствуйте, Vodyamba, Вы писали:
V>Здравствуйте, Original, Вы писали:
O>>Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...
V>Можно использовать стандартный компонент TexcelApplication, для экспорта вполне хватит.
V>Он не очень удобный, но зато работает. И не надо ничего ниоткуда скачивать и устанавливать.
Спасибо за подсказку, я знаю что этим компонентом можно пользоваться , но мне нужен пример, если есть то пожалуйста покажите ..
Здравствуйте, 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;
Здравствуйте, 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>
спасибо огромное ... всё заработало ....
то что нужно ...
только нужны коекие изменения насчёт фонтов сделать .... и всё будет в норме думаю
Здравствуйте, Original, Вы писали:
O>Здравствуйте, Vodyamba, Вы писали:
V>>Здравствуйте, Original, Вы писали:
O>>>Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...
V>>Можно использовать стандартный компонент TexcelApplication, для экспорта вполне хватит.
V>>Он не очень удобный, но зато работает. И не надо ничего ниоткуда скачивать и устанавливать.
O>Спасибо за подсказку, я знаю что этим компонентом можно пользоваться , но мне нужен пример, если есть то пожалуйста покажите ..
...
var
i : integer;
F : TFileStream;
S : string;
begin
F := TFileStream.Create('C:\aaa.xls', fmCreate);
DataSet1.First;
repeat
for i := 0 to DataSet1.Fields.Count -1 do
begin
S := DataSet1.Fields[i].AsString + Chr(9);
F.Write(S);
end;
DataSet1.Next;
F.Write(Chr(10));
until DataSet1.Eof
end;