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

Вниз

Передача массива чисел из прораммы с строку листа Excel   Найти похожие ветки 

 
SMT   (2004-09-09 17:26) [0]

Уважаемые мастера,

Подскажите, пожалуйста, как программно передать из открытой программы в строку также открытого листа Excel массив вещественных чисел?

Игорь Степанов


 
MU ©   (2004-09-09 17:31) [1]

см.

http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988622198&n=23

м.б. вместо CreateOleObject использовать GetActiveOleObject


 
Digitman ©   (2004-09-09 17:31) [2]

через клипборд, например


 
Dimka Maslov ©   (2004-09-09 17:52) [3]

uses Clipbrd;

procedure CopyArrayToClipboard(Data: array of Double; Row: Boolean = True);
// Row = True: запись данных в строку
// Row = False: в столбец
var
 Str, Delimiter: string;
 i, Lo, Hi: Integer;
 
begin
 if Row then Delimiter := #9 else Delimiter := #13#10;
 Lo := Low(Data);
 Hi := High(Data);
 for i := Lo to High do begin
  Str := Str + FloatToStr(Data[i]);
  if i < High then Str := Str + Delimiter;
 end;
 Clipboard.AsText := Str;
end;


Запускаешь прогу, открывает Ёxel и делаешь Paste.


 
SMT   (2004-09-09 21:16) [4]

А можно ли все делать автоматичски, т.е. программно, чтобы никаких мануальных движений типа "делаешь Paste" не делать?
В моем случае речь идет о переводе в Exel очень больших массивов данных, а поэтому 1000 раз делать Paste не представляется возможным.

Игорь Степанов


 
Palladin ©   (2004-09-09 22:23) [5]

Массив это круто, но как ты собрался расположить его на листе?


 
YurikGL ©   (2004-09-09 23:19) [6]

Делается olevariant-й массив и однин раз делается paste

Если нужна гиперскорость - используй xml


 
Palladin ©   (2004-09-09 23:22) [7]

Пожалуйста поподробней о xml и гиперскорости.


 
jack128 ©   (2004-09-10 00:41) [8]

Palladin ©   (09.09.04 23:22) [7]
э-э-э.. Я думаю прямая запись в файл по сравнению с OLE имеет приемущества ;-)  Правда Cуслик(с) тут возмущался про фиговую документацию Excel"я по этому поводу..


 
Palladin ©   (2004-09-10 00:50) [9]

1 не проще ли тогда просто файл с разделителями TAB сформировать?
эксель начал понимать xml только с 2003, и то, я не уверен, ибо не ставил и не смотрел, читал только анонсы к 2003... и я уверен что эксель гораздо быстрей обработает текстовик чем распарсит xml...
2 на практике проверить конечно можно, что быстрее OLE + DDE или таки OLE + вызов импорта из текстового файла... но что то в ломы... думаю примерно одинаково...


 
Palladin ©   (2004-09-10 00:57) [10]

вру безбожно :) текстовик нужно сформировать и слить на диск, при использовании DDE на диск сливать не нужно, соотвессно быстрей...


 
IXT   (2004-09-10 10:07) [11]

Если надо скину "прогу" с использованием TExcelApplication
Работает с excel-ем как OLE COM.

Когдато делал какуюто фигню. Там все достаточто просто.


 
SMT   (2004-09-13 18:06) [12]

Уважаемый IXT,

Пожалуйста, пошлите, если возможно, исходники Вашей программы с использованием TExcelApplication на мой адрес:

igorstep@12044.spb.edu

Заранее благодарю.
С уважением, Игорь Степанов



Страницы: 1 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.05 c
1-1094635659
off
2004-09-08 13:27
2004.09.26
Правильная отрисовка канвы при скролинге


3-1093525674
REA
2004-08-26 17:07
2004.09.26
Каскадное удаление дерева


4-1092829741
WondeRu
2004-08-18 15:49
2004.09.26
Как узнать Handle всех окон данного приложения?


1-1094609976
массив
2004-09-08 06:19
2004.09.26
Как грузить в TMemo и TRichEdit файл в Unicode ?


1-1094921344
Navi
2004-09-11 20:49
2004.09.26
Delphi под админом и юзером