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.041 c
6-22305
Kryptin phreek
2001-10-11 19:43
2002.01.08
Sockets ... Lokka ...


3-21926
Oleon
2001-12-04 15:14
2002.01.08
Creating a table from Delphi.


1-22237
PVR
2001-12-16 17:20
2002.01.08
TListView помогите сортировать


14-22341
Dense
2001-10-26 13:55
2002.01.08
Competitions programs - SEA FIGHTING


1-22235
DDDeN
2001-12-17 06:47
2002.01.08
Screensaver





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 spanish 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