Вниз
Скачать: CL | DM;

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

 
msgipss   (2007-03-27 17:39) [0]

Здравствуйте знатоки, вопрос, можно ли разобрать данные из буфера обмена, скопированные туда с листа excel. Вопрос возник из проблемы высокопроизводительного чтения данных и оформления содержимого Excel.
Есть ли у кого ни будь удачный опыт программно считать (например таблица 100 на 100 ячеек с листа excel) менее чем за 2 сек (комп p4), на опыте получается 15-20 сек.
Т.е. идея скопировать активный диапазон в буфер обмена, а потом его разобрать в delphi  - может будет быстрее.

Заранее спасибо за любую информацию по данному вопросу

PS уж очень не хочется переносить часть логики на уровень vba документа (а там можно получить такую производительность)

тема начала освещаться в ветке http://delphimaster.net/view/10-1174398087/


 
S@shka ©   (2007-03-27 17:44) [1]

Бррр....
открываешь в Delphi
xls - документ и делаешь все что тебе нужно

(поиском посмотри  - совсем недавно здесь было)

Автоматизация Excel в Delphi


 
msgipss   (2007-03-27 18:13) [2]

S@shka ©   (27.03.07 17:44) [1]
Наверное я некорректно объяснил, сорри.
В том то и дело что я использую автоматизацию, и хочу использовать дальше, но чтение содержимого листа происходит достаточно долго *(


 
evvcom ©   (2007-03-27 18:19) [3]

> [2] msgipss   (27.03.07 18:13)

Тебе читать надо не поячеечно, и даже не построчно, а диапазон целиком, т.е. в 2-мерный массив. См. VarArrayCreate.


 
evvcom ©   (2007-03-27 18:22) [4]

> [3] evvcom ©   (27.03.07 18:19)

Сорь. VarArrayCreate для передачи в Excel. Для чтения просто Value := Range[...], а потом по нему, как по 2-мерному массиву бегай (ну если Range выберешь 2-мерный)


 
evvcom ©   (2007-03-27 18:25) [5]

> [0] msgipss   (27.03.07 17:39)
> Есть ли у кого ни будь удачный опыт программно считать (например
> таблица 100 на 100 ячеек с листа excel) менее чем за 2 сек

Передаем обычно в Excel 10-20 столбцов х несколько тыс. строк. Обычно дольше запрос отрабатывает и Excel грузится, а передачу заметить не успеваем.


 
Krants   (2007-03-27 18:29) [6]

при занесении в буфер таблицы, Excel заносит ее как табулированную таблицу, т.е. колонки разделяются "табами", а строки,- и есть строки...


 
Macrodens ©   (2007-03-28 09:53) [7]

таб = #9



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
2-1177583759
гость_2007
2007-04-26 14:35
2007.05.20
MySQL


11-1159541285
Redline
2006-09-29 18:48
2007.05.20
KolPng


6-1163627850
skiner
2006-11-16 00:57
2007.05.20
Как передать текст с ServerSocket на ClientSocket?


2-1178288335
Inna_Z
2007-05-04 18:18
2007.05.20
Как узнать версию Oracle к которой подключились?


2-1178083513
user gosha
2007-05-02 09:25
2007.05.20
Доступ к Web-сервису из Delphi




   Наверх