|
|
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
есть файл эксель (в формате 2003, *xls) с двумя листами (источник и приемник данных), есть прога на дельфи, которая открывает эксель и с одного листа копирует на другой копируем блоками по 60 строк, находим на листе-источнике диапазон, копируем, вставляем на нужное место в другом листе эксель 2003 работает быстро, проблемы возникают в эксель 2007 и старше, 50 блоков копируется около 5 минут если блоков немного (меньше 20), то копирует быстро, за 10 секунд (приемлемое время), чуть объем побольше - все, труба в блоках есть формулы, думал пересчет влияет, автоматический пересчет отключил, но это не спасло есть подозрение, что при копировании сохраняется возможность отмены, ресурсы тратятся на возможную отмену ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 17:41:27 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
что делать-то, как забороть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 17:45:15 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
pgiw99oeoчто делать-то, как забороть? Человек копирует или код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 17:46:38 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
wadmanpgiw99oeoчто делать-то, как забороть? Человек копирует или код? не человек, программа копирует, т.е. процедуры эксель вызываются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 17:50:45 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
pgiw99oeoчто делать-то, как забороть? Для начала код выложить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 19:01:15 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
А в 2007 экселе надстроек дополнительных никаких нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 19:03:29 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
использовать регионы, а не ячейки. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 19:11:37 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
Соколинский Борисpgiw99oeoчто делать-то, как забороть? Для начала код выложить. в цикле выполняется вот такое, копируем со второго листа на первый; Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 19:32:52 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийиспользовать регионы, а не ячейки. я регионами и пользуюсь, но все равно медленно причем небольшие файлы, когда надо диапазонов 20 переписать все нормально, больше - тормозить начинает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 19:37:26 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
pgiw99oeo> в цикле выполняется вот такое 1. Excel visible в это время? 2. Макросы можно использовать? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 19:41:27 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
alekcvpА в 2007 экселе надстроек дополнительных никаких нет?на разных машинах пробовал, наверное и без надстроек были грешу на то, что может быть подвисает когда помнит историю изменений, когда много надо помнить на случай отмены ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 19:41:53 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
pgiw99oeo> когда много надо помнить на случай отмены Excel запоминает операцию целиком, т.е. в твоём случае - копирование всего блока. Запомнить 50 операций - копейки. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 19:44:50 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустамpgiw99oeo> в цикле выполняется вот такое 1. Excel visible в это время? 2. Макросы можно использовать? на маленьких файлах visible-invisible не влияет сначала было инвизибл; когда зависать начало - сделал видимым чтоб посмотреть что происходит, копирований 20 делает в темпе, потом начинает тормозить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 19:49:43 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
pgiw99oeo, я так и думал что будет бездумная копипаста из текста макро-рекордера. И засирание буфера обмена, за что я бы сразу вломил. Нужно примерно так Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 19:50:38 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
Соколинский Борисpgiw99oeo, я так и думал что будет бездумная копипаста из текста макро-рекордера. И засирание буфера обмена, за что я бы сразу вломил. Нужно примерно так Код: pascal 1. 2. 3. 4. про буфер тоже мысль мелькала у меня спасибо, завтра попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 19:56:25 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
Для быстрой работы с файлами Excel в делфи нужно использовать библиотеки типа XLSReadWriteII, а OLE не использовать в принципе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 23:10:44 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
pgiw99oeoСоколинский Борисpgiw99oeo, я так и думал что будет бездумная копипаста из текста макро-рекордера. И засирание буфера обмена, за что я бы сразу вломил. Нужно примерно так Код: pascal 1. 2. 3. 4. про буфер тоже мысль мелькала у меня спасибо, завтра попробуюпопробовал, копирую прямо с листа на лист, но нифига не спасло странное такое поведение иногда: пользователь получает файл (*.XLS), открывает его 2007 экселем, ничего в нем не делает, сохраняет в формате *.XLS, размер увеличивается с 2 мегабайт до 21 мегабайта... в 10 раз файлы примерно по 5000 строк, формул в файле примерно 7000 (формулы в основном типа: взять из двух ячеек, просуммировать), тормоза при прокрутке, думал может пересчет влияет, при отключенном пересчете тоже тормоза вообще надо файлы других пользователей посмотреть, от которых жалоб не было, у них тоже довольно большие файлы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 15:42:31 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
asutp2Для быстрой работы с файлами Excel в делфи нужно использовать библиотеки типа XLSReadWriteII, а OLE не использовать в принципе.там насколько я понял запись блоками идет попробую может быть, но сомнительно, что будет быстрей чем эксель внутри себя перекинет диапазон с одного листа на другой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 15:54:45 |
|
||
|
delphi, excel, тормоза при копировании с листа на лист
|
|||
|---|---|---|---|
|
#18+
pgiw99oeoasutp2Для быстрой работы с файлами Excel в делфи нужно использовать библиотеки типа XLSReadWriteII, а OLE не использовать в принципе.там насколько я понял запись блоками идет попробую может быть, но сомнительно, что будет быстрей чем эксель внутри себя перекинет диапазон с одного листа на другой у меня лист с текстовыми данными в 20 колонок на 1000 строк (текст + форматирование ячеек цветом и бордюрами) при использовании XLSReadWriteII формируется за 1.9 секунды. Это для сравнения скорострельности работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 16:01:45 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39494155&tid=2041974]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
213ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 183ms |
| total: | 462ms |

| 0 / 0 |
