Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];

Вниз

В 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
14-96962
AZ
2003-01-10 23:11
2003.01.30
Мужики ли мы?


8-96885
psv
2002-10-15 15:33
2003.01.30
Движение лоттотрона


7-97064
avenger..
2002-11-14 22:50
2003.01.30
скрытие процесса в winNT и winXP


14-96951
Igit
2003-01-11 21:51
2003.01.30
Форматы представленгия графики и звука


1-96837
Checist [root]
2003-01-21 02:28
2003.01.30
Трабл с ListBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский