Главная страница
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.013 c
4-77248
slpro
2003-02-24 10:32
2003.04.24
мое окно топнее всех .Всегда.


1-76990
Alex-21
2003-04-13 18:42
2003.04.24
Курсор


6-77059
Bel
2003-03-04 11:46
2003.04.24
Delphi и Outlook


1-76949
Icesmile
2003-04-12 15:42
2003.04.24
как разбить текстовый файл то запятой до запятой?


1-77030
OlkaGTS
2003-04-14 15:31
2003.04.24
Как получить объект, зная Handle?