Главная страница
    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.037 c
3-1093627265
riko
2004-08-27 21:21
2004.09.26
Sybase - c чего начать?


3-1093584135
Dual
2004-08-27 09:22
2004.09.26
Проблема с базами или что же выбрать?


1-1094797030
Квэнди
2004-09-10 10:17
2004.09.26
Заголовок StringGrida


4-1092506457
bit
2004-08-14 22:00
2004.09.26
Межпрограммный интерфейс


14-1094740724
ssnvit
2004-09-09 18:38
2004.09.26
Программа не дает в Windows98 переключить раскладку клавиатуры





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский