N
Nick Palmer
Hi all,
I've got a performance question about the OWC 11 Excel component. Here is
my situation. Our application uses the OWC 11 Excel component on both the
server and the client. On the server, we use the OWC 11 Excel component to
generate the XML, that we then send down the client which uses the OWC
component to display the information in a browser. This all works fine and
dandy.
When using the OWC 11 Excel component on the server, we create a spreadsheet
object, set some properties, such as scroll bars, and then assign the our
data to a specified range in the spreadsheet. The data assignment happens
in one call, and uses the .Value property of the Range object so this is
fast. Next we apply formatting to different ranges in the spreadsheet using
all the standard Excel formatting options like Bold and Underline and
colors, etc ... In addition, we load the XML representation of a worksheet
that contains formatting information into memory and store this in another
OWC Excel spreadsheet component. We then copy/paste specific formatting
information from this formatting template object into the data object. Now
this process works just fine. But the issue I am having is that as the
number of cells in the target spreadsheet grows, and the number of cells to
be formatted increases, the formatting process starts to take longer.
So, I was wondering if anyone had any suggestions on this I might try to
speed up the process. I am aware that every call to and from the OWC 11
Excel component has to go thru COM interopt so this is going to slow things
down. Ideally, I'd like to try and find a way to reduce the number of calls
I have to make to the OWC 11 Excel component. I can load the data into the
spreadsheet object in one call which is great, but that works, because the
..Value property of the spreadsheet can be assigned an array. So I can do
all my data manipulation in native .NET, and then with one call assign it to
the spreadsheet object. I don't think the same thing can be done with
formatting, because there is no way for me to make a native .NET object that
I do my formatting with and then assign it in one call to the OWC
spreadsheet object.
So, any suggestions ?
Thanks,
Nick
I've got a performance question about the OWC 11 Excel component. Here is
my situation. Our application uses the OWC 11 Excel component on both the
server and the client. On the server, we use the OWC 11 Excel component to
generate the XML, that we then send down the client which uses the OWC
component to display the information in a browser. This all works fine and
dandy.
When using the OWC 11 Excel component on the server, we create a spreadsheet
object, set some properties, such as scroll bars, and then assign the our
data to a specified range in the spreadsheet. The data assignment happens
in one call, and uses the .Value property of the Range object so this is
fast. Next we apply formatting to different ranges in the spreadsheet using
all the standard Excel formatting options like Bold and Underline and
colors, etc ... In addition, we load the XML representation of a worksheet
that contains formatting information into memory and store this in another
OWC Excel spreadsheet component. We then copy/paste specific formatting
information from this formatting template object into the data object. Now
this process works just fine. But the issue I am having is that as the
number of cells in the target spreadsheet grows, and the number of cells to
be formatted increases, the formatting process starts to take longer.
So, I was wondering if anyone had any suggestions on this I might try to
speed up the process. I am aware that every call to and from the OWC 11
Excel component has to go thru COM interopt so this is going to slow things
down. Ideally, I'd like to try and find a way to reduce the number of calls
I have to make to the OWC 11 Excel component. I can load the data into the
spreadsheet object in one call which is great, but that works, because the
..Value property of the spreadsheet can be assigned an array. So I can do
all my data manipulation in native .NET, and then with one call assign it to
the spreadsheet object. I don't think the same thing can be done with
formatting, because there is no way for me to make a native .NET object that
I do my formatting with and then assign it in one call to the OWC
spreadsheet object.
So, any suggestions ?
Thanks,
Nick