Главная страница
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.021 c
4-97091
Alexsc
2002-12-16 12:48
2003.01.30
показать окно ранее запущенной программы


14-96986
Whippi
2003-01-13 10:52
2003.01.30
Запись CD-дисков


1-96662
gsu
2003-01-21 15:01
2003.01.30
Dreak


3-96538
Makhanev A.S.
2003-01-14 16:20
2003.01.30
Задача:


6-96926
DDF
2002-12-06 07:04
2003.01.30
Могу ли я доверять FTP протоколу?