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

Вниз

Работа с Excel   Найти похожие ветки 

 
Buggy   (2003-04-14 20:47) [0]

Как мне данные из Stringgrid перекинуть в Excel-файл????
С исходником, если можно!!!!!


 
Babay   (2003-04-15 09:55) [1]

Вот кусок из моей проги

Var Excel:Variant;

....
гдето в проге

OpenExcel(Excel,true);
StringGridToExcel(Excel,<твой грид>,<твой прогрессбар>,
1,// начальная ячейка для грида
1 // с которой нач перекладка
);
Excel:=Nil;// работа закончена отцепляемся от эксель
...


Function OpenExcel(Var Excel:Variant;const Visible:Boolean):Boolean;
begin
Result:=true;
try
{ try
Excel:=GetActiveOleObject("Excel.Application");
except }
Excel:=CreateOleObject("Excel.Application");
// end;
except
raise Exception.Create("


 
Smithson   (2003-04-15 09:59) [2]

Это медленно. Лучше так:
Проходишь по гиду и собираешь его данные в одну строку. В межячейковые позиции пишешь табулятор (#9), конец строк - #13#10.
Потом эту строку ToClipboard и даешь в Excel команду Paste. Будет существенно быстрее.


 
Babay   (2003-04-15 10:07) [3]

имхо ... работать через буфер? abbbbb///
лучше чере динамический массив

Var row:array [1..4] of Variant;
A:Variant;
begin
A := VarArrayCreate([0, 4], varVariant);
row[1]:="Это строка";
row[2]:=inttostr(random(100))+","+inttostr(Random(100));
row[3]:=Random(100);
row[4]:="=СУММ($d1:$d5)";

A[0] :=VarArrayOf(row);

row[1]:=(random(1000));
row[2]:="=33,3+"+inttostr(Random(100));
row[3]:="=22+2";
row[4]:="=Sum(d4:d6)"; // так если аглицкий эксель иначе ошибка

A[1] :=VarArrayOf(row);
A[2] :=VarArrayOf(row);
A[3] :=VarArrayOf(row);
A[4] :=VarArrayOf(row);
Excel.Range["d1","g5"].FormulaArray:=a;

A:=Nil;// убиваем массив


возможно есть ошибки но я думаю принцип ясен


 
Zheka   (2003-04-15 10:11) [4]

Есть чёткий компанент AdvStringGrid на www.torry.net.
Качаешь, инсталишь, TAdvStringGrid.SaveToXls("Name.file");



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

Форум: "Основная";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
1-76964
Begginer
2003-04-12 23:54
2003.04.24
Конструкция c try.....except


6-77071
Lamer XP
2003-02-25 18:03
2003.04.24
Sockets


14-77082
I.G.
2003-04-06 07:34
2003.04.24
Запись CD-R/RW дисков.


14-77132
Arkara
2003-04-08 11:45
2003.04.24
WinInet - где почитать?


3-76827
_jek
2003-04-07 10:30
2003.04.24
ADO (Delphi 5) и ACCESS(97)





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