Главная страница
    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
3-1093352746
Дима
2004-08-24 17:05
2004.09.26
Сохранение изменение TQuery


1-1094994303
Gear
2004-09-12 17:05
2004.09.26
Как в ListBox красиво обрезать строки по ширине ListBox, и ...


1-1094637857
jonik
2004-09-08 14:04
2004.09.26
Форма с Настройками программы


1-1094728927
Маяк_
2004-09-09 15:22
2004.09.26
Memo


1-1094835977
Rimas
2004-09-10 21:06
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский