Экспорт данных в среде Дельфи в Excell
От: Original  
Дата: 08.08.05 19:03
Оценка:
Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...
Re: Экспорт данных в среде Дельфи в Excell
От: dRake  
Дата: 08.08.05 19:41
Оценка:
Здравствуйте, Original, Вы писали:

O>Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...


Вот компонент для работы с xls файлами, довольно удобная штука с простым апи.
http://dopesoft.net/files/XLSReadWrite2.rar
Re[2]: Экспорт данных в среде Дельфи в Excell
От: Original  
Дата: 08.08.05 21:13
Оценка:
Здравствуйте, dRake, Вы писали:

R>Здравствуйте, Original, Вы писали:


O>>Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...


R>Вот компонент для работы с xls файлами, довольно удобная штука с простым апи.

R>http://dopesoft.net/files/XLSReadWrite2.rar

спасибо за компонент.... а нельзя живы мпримером показать ? я все заморочки этого копонента изучу ... но ничего пока не врубился ..а мне надо срочно кочето сделать .... если ктото имеет живой пример ..просьба поделитсья .. заранее благодарен ..
Re[3]: Экспорт данных в среде Дельфи в Excell
От: ZaKi Россия  
Дата: 08.08.05 21:40
Оценка:
Здравствуйте, 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асов долбаюсь ... (просто старую базу писал ХЗ кто ... никто на фирме этого не помнит)
C++Builder6, C#.NET
Re: Экспорт данных в среде Дельфи в Excell
От: Vodyamba Россия  
Дата: 09.08.05 05:01
Оценка:
Здравствуйте, Original, Вы писали:

O>Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...


Можно использовать стандартный компонент TexcelApplication, для экспорта вполне хватит.

Он не очень удобный, но зато работает. И не надо ничего ниоткуда скачивать и устанавливать.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[2]: Экспорт данных в среде Дельфи в Excell
От: Original  
Дата: 09.08.05 05:05
Оценка:
Здравствуйте, Vodyamba, Вы писали:

V>Здравствуйте, Original, Вы писали:


O>>Нужна помощь..не знаю как сделать это ..база данных SQL server ... с помощью дельфи надо экспортировать данные в excell ..если ктото поможет буду очень благодарен .. заранее спасибо ...


V>Можно использовать стандартный компонент TexcelApplication, для экспорта вполне хватит.


V>Он не очень удобный, но зато работает. И не надо ничего ниоткуда скачивать и устанавливать.


Спасибо за подсказку, я знаю что этим компонентом можно пользоваться , но мне нужен пример, если есть то пожалуйста покажите ..
Re[3]: Экспорт данных в среде Дельфи в Excell
От: Vodyamba Россия  
Дата: 09.08.05 05:12
Оценка:
Здравствуйте, 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>>
Re[4]: Экспорт данных в среде Дельфи в Excell
От: Original  
Дата: 09.08.05 11:13
Оценка:
Здравствуйте, 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>


спасибо огромное ... всё заработало ....
то что нужно ...
только нужны коекие изменения насчёт фонтов сделать .... и всё будет в норме думаю
Re[3]: Экспорт данных в среде Дельфи в Excell
От: svd71 http://visualdesigner.fatal.ru/
Дата: 09.08.05 20:03
Оценка:
Здравствуйте, 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;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.