Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Export 2-х мер массива данных в Excel ??


Автор: Mepcuk 1.11.2006, 21:38
Как передать двумерный массив из Делфи в Ексель?


Код

        Excel:=CreateOleObject('Excel.Application');
         Excel.Visible:=true;
         Excel.Workbooks.Open('c:\network.xls');
        Excel.Worksheets.add;
        RangeMatrix:=Excel.Range['A1','B100'].Value;


for previous_layer_neiro:=1 to input_neiro_q do
begin
    for next_layer_neiro:=1 to neiro_q do
    begin
    value_for_random:=random(9800)*0.0001+0.01;
    input_weight[previous_layer_neiro,next_layer_neiro,network_n]:=value_for_random;              //value_for_random/1000+0.01;
    RangeMatrix[previous_layer_neiro,next_layer_neiro]:=FLoatToStr(value_for_random);   ---<<<<<<<< NE RABOTAET :(((
    //Excel.Range['A'+IntToStr(next_layer_neiro)].Value:=value_for_random;
     end;
//Write_in_memo1();
end;

Автор: Albinos_x 1.11.2006, 23:00
в чём это выражается?

Автор: Mepcuk 2.11.2006, 09:26
1) Мне необходимо создат массив[k,m] случайных чисел с 0-1 в Delph, (Сделано)
2) Экспортировать массив[k,m] в ексель в где к- кол-во столбцов, м -кол-во строк

Export необходим для проверки сложных расчетов Delphi.

Автор: Mepcuk 2.11.2006, 10:28
Массив типа Сингл ! хотя передаем всё равно как стринг переменную !

Автор: Albinos_x 2.11.2006, 12:08
а вот таке не пробовал:
Код

...
var MyRange,V:OleVariant;
...
MyRange:=ExcelWorksheet1.Range['A2','C4'];
V:=VarArrayCreate([0,2,0,2], varVariant);
V[0,0]:=4;
V[0,1]:=6;
V[0,2]:=1;
V[1,0]:=8;
V[1,1]:=9;
V[1,2]:=0;
V[2,0]:=5;
V[2,1]:=7;
V[2,2]:=3;
MyRange.Value:=V;

пример этот есть в моей статье...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)