1

Acording to my client requirement,we are replacing ASPOSE technology by OPENXML SDK to read and write Excel 2007 (.xlsm macro-enabled file),and in fact we are able to accomplish the job using openxml sdk.

However the problem starts when we compare the execution time,if the data is too large(reprting data for eg 18k) to be read or written,ASPOSE is too fast in compariosn to OPEN XML SDK.

We take the following approach given in the below link and it works perfectly but the real issue is excution time it takes is too much,during wich we loose the trasaction time out.

http://msdn.microsoft.com/en-us/library/office/hh180830.aspx

If OPENXML SDK failes to deliver result in lesser time than ASPOSE,only then the OPENXML SDK is aceepted otherwise our effort given finding and writing open xml sdk code is in vain.

basically we have are taking entire huge data in dataset and write using any of the above technology.

Any help to improve permance in terms coding will be highly appreacited.

sudipta ghosh
  • 73
  • 1
  • 9

1 Answers1

0

The problem is one of working set, not one of IO time. Allocation of too much memory will slow down your application more than just about any other factor. It is best if you use a streaming approach. Some time ago I recorded a screen-cast that uses a streaming approach - it generates a worksheet at around the rate of 10,000 rows per second (for rows that have 20 columns of data). This is near to being IO bound, so it would be difficult to speed up more than this. You would need to use faster disks.

You can find the screen-cast, and the example code here:

http://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2012/01/10/screen-cast-using-open-xml-and-linq-to-xml-in-a-streaming-fashion-to-create-huge-spreadsheets.aspx

-Eric

Eric White
  • 1,851
  • 11
  • 14
  • Eric, might you be able to assist me with the following: http://stackoverflow.com/questions/15791732/openxml-sdk-having-borders-for-cell – Nate Pet Apr 03 '13 at 16:15