Главная страница
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.017 c
4-77224
igornov
2003-02-26 18:00
2003.04.24
Как зная хендл процесса найти главное окно приложения или наоборо


7-77189
YM
2003-03-06 16:10
2003.04.24
Прямой доступ к диску


14-77135
michael_b
2003-04-06 12:08
2003.04.24
Жаргон программистов


1-77018
AlexanderSK
2003-04-14 12:37
2003.04.24
Ошибка -


11-76867
Vitalon
2002-07-17 19:07
2003.04.24
Программное выполнение скроллинга в Memo