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

Вниз

Работа с 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
1-76960
Alex-21
2003-04-09 20:03
2003.04.24
MaxLength


14-77123
Дмитрий К.К.
2003-04-08 06:33
2003.04.24
Именинники 8 апреля


9-76744
Джастер
2002-11-21 08:29
2003.04.24
OpenGl?


1-77029
Evg12
2003-04-14 14:54
2003.04.24
Как выполнить функцию или процедуру имя которой в переменной


4-77232
=SOFT=
2003-02-26 15:35
2003.04.24
Можно ли программно переключить раскладку клавиатуры