Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
7-77209
Tylli
2003-03-05 08:23
2003.04.24
Скрытие установленных программ


9-76746
Phisio
2002-04-01 16:12
2003.04.24
Вот такой вопрос


8-77035
VRussian
2003-01-21 21:43
2003.04.24
как узнать список видео кодеков в системе.


9-76741
Коля
2002-11-23 22:57
2003.04.24
У меня много проблем с DirectX и DelphiX для Delphi 6


7-77201
sharik_212
2003-03-07 15:23
2003.04.24
Сколько видеопамяти? (на видеоплате)




   Наверх