Главная страница
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.053 c
3-1093695220
and
2004-08-28 16:13
2004.09.26
Список изменений при Cached Updates


9-1085478560
nexxiss
2004-05-25 13:49
2004.09.26
D3D fullscreen


4-1092583943
фантазер
2004-08-15 19:32
2004.09.26
hBitmap


14-1094211909
syte_ser78
2004-09-03 15:45
2004.09.26
Принцип работы бумажной почты


14-1094325608
MicroMozg
2004-09-04 23:20
2004.09.26
Загадки из мурзилки!