Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];

Вниз

Передача массива чисел из прораммы с строку листа 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.034 c
8-1088693104
maxistent
2004-07-01 18:45
2004.09.26
Как сузить битмап?


9-1085852542
KiRiLl
2004-05-29 21:42
2004.09.26
Кадры


14-1094394558
Voland
2004-09-05 18:29
2004.09.26
Народ а как из битмапа иконку сделать?


4-1092820204
slavan
2004-08-18 13:10
2004.09.26
Буфер обмена и Делфи


14-1094374411
McSimm
2004-09-05 12:53
2004.09.26
Прошу понять меня правильно. Очень прошу.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский