B
Bill Nalen
I'm using owc10 in a VB 6 project to do some back end calculations. We
are loading a 25meg xml spreadsheet, turning off the ui portion of owc
and setting the calculation mode to manual. We then populate the sheet
from arrays of approximately 10x5 size. This population process is
pretty slow. After the sheet is populated, we turn on the auto calc
and then turn it off again (to force a calculation). This calculation
is pretty slow too. We then grab a bunch of values from the sheet.
For basic optimization we have the number of recalcs to a minimum. We
populate the sheets in as large a chunk as possible (i.e. the biggest
array we can fit without overwriting calculations) and then read in
the largest chunk we can.
When I say slow, through Excel this calculation is nearly instant. If
I make the same changes through owc and do a calculation=automatic, it
takes nearly 6 seconds to calculate. Am I missing something? Does it
not track which portions need to be recalculated?
Here are the options we are setting after setting the url property:
msowcSpreadsheet.calculation = xlCalculationManual
msowcSpreadsheet.ScreenUpdating = False
msowcSpreadsheet.DisplayOfficeLogo = False
msowcSpreadsheet.DisplayGridlines = False
msowcSpreadsheet.DisplayHorizontalScrollBar = False
msowcSpreadsheet.DisplayPropertyToolbox = False
msowcSpreadsheet.DisplayTitleBar = False
msowcSpreadsheet.DisplayToolbar = False
msowcSpreadsheet.DisplayVerticalScrollBar = False
msowcSpreadsheet.EnableUndo = False
msowcSpreadsheet.EnableEvents = False
It seems like setting values should be nearly instant in manual mode
and the recalc should be as fast as Excel is.
Here is how I'm setting the data:
Book.Worksheets("Daily").Range("h56:h69") = inputs
where inputs is a 14 x 1 array of variants
and this is how we are forcing the recalc
Book.calculation = OWC10.XlCalculation.xlCalculationAutomatic
Book.calculation = OWC10.XlCalculation.xlCalculationManual
I'd appreciate any help.
Thanks
Bill
are loading a 25meg xml spreadsheet, turning off the ui portion of owc
and setting the calculation mode to manual. We then populate the sheet
from arrays of approximately 10x5 size. This population process is
pretty slow. After the sheet is populated, we turn on the auto calc
and then turn it off again (to force a calculation). This calculation
is pretty slow too. We then grab a bunch of values from the sheet.
For basic optimization we have the number of recalcs to a minimum. We
populate the sheets in as large a chunk as possible (i.e. the biggest
array we can fit without overwriting calculations) and then read in
the largest chunk we can.
When I say slow, through Excel this calculation is nearly instant. If
I make the same changes through owc and do a calculation=automatic, it
takes nearly 6 seconds to calculate. Am I missing something? Does it
not track which portions need to be recalculated?
Here are the options we are setting after setting the url property:
msowcSpreadsheet.calculation = xlCalculationManual
msowcSpreadsheet.ScreenUpdating = False
msowcSpreadsheet.DisplayOfficeLogo = False
msowcSpreadsheet.DisplayGridlines = False
msowcSpreadsheet.DisplayHorizontalScrollBar = False
msowcSpreadsheet.DisplayPropertyToolbox = False
msowcSpreadsheet.DisplayTitleBar = False
msowcSpreadsheet.DisplayToolbar = False
msowcSpreadsheet.DisplayVerticalScrollBar = False
msowcSpreadsheet.EnableUndo = False
msowcSpreadsheet.EnableEvents = False
It seems like setting values should be nearly instant in manual mode
and the recalc should be as fast as Excel is.
Here is how I'm setting the data:
Book.Worksheets("Daily").Range("h56:h69") = inputs
where inputs is a 14 x 1 array of variants
and this is how we are forcing the recalc
Book.calculation = OWC10.XlCalculation.xlCalculationAutomatic
Book.calculation = OWC10.XlCalculation.xlCalculationManual
I'd appreciate any help.
Thanks
Bill