Форум: "Основная";
Текущий архив: 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