![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прочитать скопированные из Excel в буфер обмена данные
msgipss © (2007-03-27 17:39:00)Здравствуйте знатоки, вопрос, можно ли разобрать данные из буфера обмена, скопированные туда с листа excel. Вопрос возник из проблемы высокопроизводительного чтения данных и оформления содержимого Excel.
Есть ли у кого ни будь удачный опыт программно считать (например таблица 100 на 100 ячеек с листа excel) менее чем за 2 сек (комп p4), на опыте получается 15-20 сек.
Т.е. идея скопировать активный диапазон в буфер обмена, а потом его разобрать в delphi - может будет быстрее.
Заранее спасибо за любую информацию по данному вопросу
PS уж очень не хочется переносить часть логики на уровень vba документа (а там можно получить такую производительность)
тема начала освещаться в ветке http://delphimaster.ru/cgi-bin/forum.pl?id=1174398087&n=8
Macrodens (2007-03-28 09:53:00) [1]таб = #9
Krants (2007-03-27 18:29:00) [2]при занесении в буфер таблицы, Excel заносит ее как табулированную таблицу, т.е. колонки разделяются "табами", а строки,- и есть строки...
evvcom (2007-03-27 18:25:00) [3]> [0] msgipss (27.03.07 17:39)
> Есть ли у кого ни будь удачный опыт программно считать (например
> таблица 100 на 100 ячеек с листа excel) менее чем за 2 сек
Передаем обычно в Excel 10-20 столбцов х несколько тыс. строк. Обычно дольше запрос отрабатывает и Excel грузится, а передачу заметить не успеваем.
evvcom (2007-03-27 18:22:00) [4]> [3] evvcom © (27.03.07 18:19)
Сорь. VarArrayCreate для передачи в Excel. Для чтения просто Value := Range[...], а потом по нему, как по 2-мерному массиву бегай (ну если Range выберешь 2-мерный)
evvcom (2007-03-27 18:19:00) [5]> [2] msgipss (27.03.07 18:13)
Тебе читать надо не поячеечно, и даже не построчно, а диапазон целиком, т.е. в 2-мерный массив. См. VarArrayCreate.
msgipss (2007-03-27 18:13:00) [6]S@shka © (27.03.07 17:44) [1]
Наверное я некорректно объяснил, сорри.
В том то и дело что я использую автоматизацию, и хочу использовать дальше, но чтение содержимого листа происходит достаточно долго *(
S@shka (2007-03-27 17:44:00) [7]Бррр....
открываешь в Delphi
xls - документ и делаешь все что тебе нужно
(поиском посмотри - совсем недавно здесь было)
Автоматизация Excel в Delphi