Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.30;
Скачать: CL | DM;

Вниз

В Excel   Найти похожие ветки 

 
esa ©   (2003-01-22 14:29) [0]

Каким образом записать в Excel"евскую таблицу большой массив данных (обычными метОдами медленно пишется :). Хотелось бы побыстрее.


 
Alexander Vasjuk   (2003-01-22 15:39) [1]

Надо заполнить данными 2мерный вариантный массив и вставить его в лист.


 
Smithson ©   (2003-01-22 15:42) [2]

Я гонял большой об`ем через клипбоард. Получалось сильно щустрее.


 
Alx2 ©   (2003-01-22 15:46) [3]

>esa © (22.01.03 14:29)
Шустрый и бесплатный компонент с исходниками для экспорта в excel из dataset см. на
http://www.stefancr.yucom.be


 
Yuri-7 ©   (2003-01-22 15:59) [4]

1. Объяви переменную V: Variant;
2. Расчитай точное количество столбцов и строк и создай
V := VarArrayCreate([1, RCnt, 1, CCnt], varVariant);
3. Занеси данные в массив
4. Выполни процедуру
(R и C - адрес ячейки - "левый верхний угол", куда заносить,
ExcelApplication уже должно быть создано. ES в процедуре - это _WorkSheet, куда ты пишешь. Здесь использованы Delphi-йские сервера.)
//************************************************
procedure ex_putvalues(R,C: Integer; V: Variant);
var
I,J: Integer;
Rng: Range;
begin
I := VarArrayHighBound(V,1)-VarArrayLowBound(V,1);
J := VarArrayHighBound(V,2)-VarArrayLowBound(V,2);
Rng := ES.Get_Cells;
Rng := Rng.Range_[Rng.Item[R,C],Rng.Item[R+I,C+J]];
Rng.Value := V;
end;


 
Palladin ©   (2003-01-22 17:01) [5]

если просто текст то пойдет и так
заносишь усе в buffer
разделитель между колонками #9 (TAB) между строками #10 (LF)

var
xlDDE:TDDEClientConv;
buffer:string;
xlApp:OleVariant;
Adr1,Adr2:string;
....
xlDDE:=TDDEClientConv.Create(nil);
lDDE.SetLink("EXCEL", m_sheetname);
xlDDE.PokeData(OLEVariant(xlApp.Range[Adr1,Adr2]).Address[ReferenceStyle:=xlR1C1], pchar(buffer));
xlDDE.free;
....

очень быстро
Adr1
Adr2 описывают верхний левый и нижний правый угол прямоугольной области в которую вставляются данные
xlApp созданый как CreateOleObject("Excel.Application");



Страницы: 1 вся ветка

Текущий архив: 2003.01.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
1-96836
Tundra
2003-01-20 13:22
2003.01.30
Как узнать координаты курсора мыши находящегося над формой.


1-96648
nomshar
2003-01-21 13:47
2003.01.30
Поиск и удаление повторяющихся слов.


6-96924
dimonf
2002-12-06 03:06
2003.01.30
Как узнать IP адрес по доменному имени?


1-96664
Артём К
2003-01-21 16:16
2003.01.30
Как определить, что в Edit ни чего не введено!


1-96668
Black Tiger
2003-01-21 04:33
2003.01.30
Edit