Dim arr()
''''''''''''''''''''
arr = oXls.ActiveCell.EntireColumn.Range("a1:a" & J ).Formula
Как ускорить чтение из Excel
Xls = CreateObject("Excel.Application")
oXls.Workbooks.Open(TextBox1.Text)
for i = 1 to j
...= oXls.Cells.Range("a" & CStr(i)).Formula
next i
j что-то около 20000
и лист считывается около 10 минут!
как ускорить чтение?
Попробуй встроенными функциями(типа Activecell.Next .. ) передвигаться по ячейкам и явно опиши тот лист, на котором находишься.
Код:
Цитата:
Originally posted by likhobory
попробуй cкинуть в массив
попробуй cкинуть в массив
Код:
Dim arr()
''''''''''''''''''''
arr = oXls.ActiveCell.EntireColumn.Range("a1:a" & J ).Formula
''''''''''''''''''''
arr = oXls.ActiveCell.EntireColumn.Range("a1:a" & J ).Formula
говорит
"An unhandled exception of type 'System.InvalidCastException' occurred in MNK.exe
Additional information: Specified cast is not valid."
Цитата:
Originally posted by Crishna
говорит
"An unhandled exception of type 'System.InvalidCastException' occurred in MNK.exe
Additional information: Specified cast is not valid."
говорит
"An unhandled exception of type 'System.InvalidCastException' occurred in MNK.exe
Additional information: Specified cast is not valid."
Код:
Dim Xls, arr(,) As Object
Xls = CreateObject("Excel.Application")
Xls.Workbooks.Open(TextBox1.Text)
'''''''''''''''''''''''
Xls.range("a1").select()
arr = Xls.ActiveCell.EntireColumn.Range("a1:a" & J).Formula
Xls = CreateObject("Excel.Application")
Xls.Workbooks.Open(TextBox1.Text)
'''''''''''''''''''''''
Xls.range("a1").select()
arr = Xls.ActiveCell.EntireColumn.Range("a1:a" & J).Formula
вроде бы так...
Цитата:
Originally posted by likhobory
вроде бы так...
Код:
Dim Xls, arr(,) As Object
Xls = CreateObject("Excel.Application")
Xls.Workbooks.Open(TextBox1.Text)
'''''''''''''''''''''''
Xls.range("a1").select()
arr = Xls.ActiveCell.EntireColumn.Range("a1:a" & J).Formula
Xls = CreateObject("Excel.Application")
Xls.Workbooks.Open(TextBox1.Text)
'''''''''''''''''''''''
Xls.range("a1").select()
arr = Xls.ActiveCell.EntireColumn.Range("a1:a" & J).Formula
вроде бы так...
Спасибо огроменное!