Home
Top.Mail.Ru Yandeks.Metrika
Forum: "Main";
Current archive: 2002.01.08;
Download: [xml.tar.bz2];

Down

Transferring data to an Excel worksheet cell Find similar branches


Striker   (2001-12-13 07:59) [0]

Подскажите пожалуйста как какую-нибудь переменную типа string или real записать в заданную ячейку листа EXCEL.(хотелось бы с примером).За ранее благодарен.



perov   (2001-12-13 08:21) [1]


ExcelApplication.Connect;
ExcelApplication.Workbooks.Add("", 0);
ExcelWorkbook.ConnectTo(ExcelApplication.ActiveWorkbook);
ExcelWorksheet.ConnectTo(ExcelWorkbook.Sheets[1] as _WorkSheet);
ExcelWorksheet.Activate;
ExcelWorksheet.Cells.Item[j,1].Value := j - i;
ExcelApplication.Visible[0] := True;



KIR   (2001-12-13 08:32) [2]

Сюда же в догонку вопрос, а как после этого этот XL грамотно закрыть? А то у меня один раз перенос (правда ИЗ Excel"я) работает, а если попытаться еще раз, то - Memory Allocation Error...



perov   (2001-12-13 08:44) [3]

ExcelApplication.Disconnect;



Striker   (2001-12-13 09:00) [4]

Большой Thank"s дома попробую.



KIR   (2001-12-13 12:02) [5]

>perov
Писал уже
и ExcelApplication.Disconnect,
и ExcelApplication.Quit,
и FreeAndNil(ExcelApplication)...
не помогает, вот кусок кода:

ExcelApplication1.Connect;
ExcelApplication1.WorkBooks.Add(n,0); //n - имя файла
ExcelWorkBook1.ConnectTo(ExcelApplication1.ActiveWorkBook);

{тело программы}

ExcelApplication.WorkBook1.Close;
ExcelApplication1.Disconnect;



perov   (2001-12-13 12:33) [6]

ExcelWorksheet.Disconnect;
ExcelWorkbook.Close;
ExcelApplication.Disconnect;



Олег Лаукарт   (2001-12-13 13:33) [7]

В Королевстве Делфи есть пару статей про работу с Excel



Ынс   (2001-12-13 14:32) [8]

//добавить в модули еще и этот
uses ComObj;
/ / ...
was
xlApp : Variant;
DataArray : Variant;//двумерный массив тут будет
rv: real;
begin
rv:= 10.56568;
xlApp := CreateOleObject("Excel.Sheet"); //создать
xlApp.Application.Visible := True;

xlApp.Application.Cells[1, 2].Value := "23456346"; //можно так

xlApp.Application.Range["RealValue1"].Value:= rv; {можно и так : "RealValue1" - имя ячейки в "клетках"}

xlApp.Application.Range("A1:B8").Value := "Просто строка для заполнения диапазона"; {заполнение рейнджа одной строкой}


DataArray := VarArrayCreate([0,2,0,2], varVariant);{создадим массив типа вариант для хранения любых значений}
DataArray[0, 0]:= "элемент массива";
DataArray[1, 0]:= 38754;//тоже элемент массива

{присваиваем рейнджу весь массив по ссылке сразу... дешево,надежно и практЫчно =-) = особенно когда нужно в репорт передать массив размером этак тысяч 5 строк... если делать это через цикл for то репорт будет генериться убийственно долго}

xlApp.Application.Range("A1:C3):= DataArray;

//сохраним этот файл для потомков =-)
xlApp.SaveAs("c:\docs\reports\sample1.xls");

DataArray := Unassigned; //заметаем следы
xlApp := Unassigned; //грохнуть и это ...
end;



Striker   (2001-12-15 11:06) [9]

Я тут порылся и нашел сайт (WWW.afalinasoft.com).Там как раз по взаимодействие Delphi&Excel.



Pages: 1 whole branch

Forum: "Main";
Current archive: 2002.01.08;
Download: [xml.tar.bz2];

Top









Memory: 0.84 MB
Time: 0.038 c
4-22495
under
2001-11-05 09:57
2002.01.08
WinAPI basics


1-22015
hunter
2001-12-17 13:17
2002.01.08
Picture to printer


1-22082
Chak
2001-12-19 10:07
2002.01.08
How to pass a function parameter in a DLL.


7-22444
VS
2001-09-27 07:14
2002.01.08
How to copy yourself if the program is running


1-22194
based on
2001-12-15 09:28
2002.01.08
Millet question!





afrikaans albanian Arabic armenian azerbaijani basque belarusian bulgarian catalan Chinese (Simplified) Chinese (Traditional) croatian Czech danish Dutch English estonian filipino finnish French
galician georgian German greek haitian Creole hebrew Hindi hungarian icelandic indonesian Irish italian japanese Korean latvian lithuanian macedonian malay maltese norwegian
persian polish portuguese Romanian russian serbian slovak Slovenian Español swahili Swedish thai turkish Ukrainian urdu vietnamese welsh yiddish bengali bosnian
cebuano Esperanto gujarati hausa hmong igbo javanese kannada khmer lao latin maori marathi mongolian nepali punjabi somali tamil telugu yoruba
zulu
English French German Italian Portuguese Russian Spanish