Необходимо физически пробежаться по всем записям в Excel файле
Код на AutoIt 3.3.12.0 работает медленнее чем на AutoIt 3.3.8.1
Как-то можно увеличить производительность в AutoIt 3.3.12.0?
(Office 2013, Win7 x86)
Пример AutoIt 3.3.12.0
Время Чтения 500 записей = 30 сек.
Время Записи 500 записей = 2 сек.
Пример AutoIt 3.3.8.1
Время Чтения 500 записей = 2 сек.
Время Записи 500 записей = 2 сек.
Код на AutoIt 3.3.12.0 работает медленнее чем на AutoIt 3.3.8.1
Как-то можно увеличить производительность в AutoIt 3.3.12.0?
(Office 2013, Win7 x86)
Пример AutoIt 3.3.12.0
Код:
#include <Excel.au3>
#include <Timers.au3>
#include <MsgBoxConstants.au3>
$oAppl = _Excel_Open()
$oWorkbook=_Excel_BookNew($oAppl)
$kol=500
$starttime = _Timer_Init() ; Инициируем Таймер
For $i=1 To $kol
_Excel_RangeRead($oWorkbook,Default,$oWorkbook.ActiveSheet.Cells($i,1))
;_Excel_RangeRead($oWorkbook,Default,'A'&$i)
Next
MsgBox(64,'Чтение записей','Время обработки: '&Round(_Timer_Diff($starttime)/1000)&' сек.')
$starttime = _Timer_Init() ; Инициируем Таймер
For $i=1 To $kol
_Excel_RangeWrite($oWorkbook,Default,'test',$oWorkbook.ActiveSheet.Cells($i,1))
Next
MsgBox(64,'Запись записей','Время обработки: '&Round(_Timer_Diff($starttime)/1000)&' сек.')
_Excel_Close($oAppl)
Время Записи 500 записей = 2 сек.
Пример AutoIt 3.3.8.1
Код:
#include <Excel.au3>
#include <Timers.au3>
$oWorkbook = _ExcelBookNew()
$kol=500
$starttime = _Timer_Init() ; Инициируем Таймер
For $i=1 To $kol
_ExcelReadCell($oWorkbook,$i,1)
Next
MsgBox(64,'Чтение записей','Время обработки: '&Round(_Timer_Diff($starttime)/1000)&' сек.')
$starttime = _Timer_Init() ; Инициируем Таймер
For $i=1 To $kol
_ExcelWriteCell($oWorkbook,'test',$i,1)
Next
MsgBox(64,'Запись записей','Время обработки: '&Round(_Timer_Diff($starttime)/1000)&' сек.')
_ExcelBookClose($oWorkbook)
Время Записи 500 записей = 2 сек.