Author |
Message |
teniel
Joined: Wed May 09, 2007 8:36 am Posts: 14 Location: Israel
|
A question about speed
Hi!
I use about 10,000 times to fill data in an Excel spreadsheet. This takes a negligible amount of time. However when I use to write the file, this takes around 15 seconds. Is there anyway to speed this up? Because I want to use about 60,000 times in a spreadsheet, and it can take about 2 minutes to generate the spreadsheet?
Thank you
|
Tue Nov 20, 2007 11:54 am |
|
|
daniela
Joined: Fri Feb 03, 2006 12:23 pm Posts: 199 Location: Brasov, Romania
|
Here are 2 tips for decreasing the speed.
Using ExcelStyle for formatting instead of direct formatting each cell, drastically decrease the memory usage and this also affect the speed of execution. So if you have more cells with the same format, set the same ExcelStyle for all of them.
Also setting the data type of the cell might increase the speed of execution, since the default data type is automatic and it is determined by runtime.
|
Wed Nov 21, 2007 1:31 pm |
|
|
hootches
Joined: Sun Nov 25, 2007 5:53 am Posts: 1
|
Speed
I am have the same troubles with speed like teniel.
I am using your program to generate large Excel-Files in a Client-Server- Application. The generation of the ExcelDocument object runs fast but as soon as i start to write to the OutputStream it takes a while to complete. Actually this is to long to provide the generation of a Excel-File in a Request-based nature in our Application.
I already assign each Cell-Value its Cell-Stlye with the appropriate DataType set. All in all i use 6 Cell-Styles so far.
Are there any other chances to speed the writing to the Outputstream up ?
|
Sun Nov 25, 2007 6:05 am |
|
|
teniel
Joined: Wed May 09, 2007 8:36 am Posts: 14 Location: Israel
|
speed issues
Would using be significantly faster than doing each cell individually? And perhaps making a few formatting changes afterwards?
|
Sun Nov 25, 2007 7:08 am |
|
|
teniel
Joined: Wed May 09, 2007 8:36 am Posts: 14 Location: Israel
|
Speed
Hi Daniela,
Thank you for your suggestions. The report I am producing does not currently have any formatting, but I tried setting the data-type manually as you suggested. There was on average a small speed increase. (a bit less than a second on an Excel that took 12 seconds to produce)
|
Sun Nov 25, 2007 11:16 am |
|
|
daniela
Joined: Fri Feb 03, 2006 12:23 pm Posts: 199 Location: Brasov, Romania
|
You should get similar results with our tests:
http://www.easyxls.com/docs/Volume%20 ... ks_6.1.doc
However, the speed depends also by your computer performances.
The speed of generation is also affected by how many formulas are in the document and the functions used inside formula. Each function is computed in its own amount of time.
|
Mon Nov 26, 2007 7:47 am |
|
|
daniela
Joined: Fri Feb 03, 2006 12:23 pm Posts: 199 Location: Brasov, Romania
|
Also for the java version, you need to add an extra parameter when running your application.
JRE use 64M of memory by default and your computer performances don't count. You need to increase the memory heap size by using -mx option (run your application using "java -mx512m").
See this link:
http://forum.java.sun.com/thread.jspa?f ... dID=179198
|
Mon Nov 26, 2007 7:49 am |
|
|
teniel
Joined: Wed May 09, 2007 8:36 am Posts: 14 Location: Israel
|
Thanks Daniela
This looks very helpful
|
Tue Nov 27, 2007 7:44 am |
|
|
teniel
Joined: Wed May 09, 2007 8:36 am Posts: 14 Location: Israel
|
Speed
Hi Daniela!
Just for information. We increased the jvm heap size as you suggested (although only to 256 MB) and ran our heavy excel report . The easyxls component took 15 to 20 seconds instead of over a minute (ie about a quarter of the time...)
Thank you very much
|
Sun Dec 02, 2007 11:17 am |
|
|
levi
Joined: Wed Jan 16, 2008 9:13 am Posts: 8
|
Re: Speed
I am running into a similar speed/memory/performance issue as well. I am evaluating this library as well as several others and have been performing some tests such as opening/re-saving existing spreadsheets for our business to benchmark the times it takes to do this. This particular spreadsheet has about 15 sheets. 1 sheet has 604x6 cells with formulas in a lot of them. One has 3012x9 (2 hidden) cells with formulas. Then there are 10 sheets that have 345x8 cells with formulas. The other libraries that I have been testing generally would load/save this to another file in approximately 1-2 seconds. EasyXLS took 12 minutes 44 seconds as well as sucked up about 50% cpu in the process as well as around 200 MB of virtual memory. Is there a way to load / save a spreadsheet that is formula intensive? I realize that this is probably worst case scenario, but is a possible scenario in our environment. Any help / insight would be greatly appreciated.[/list]
|
Wed Jan 16, 2008 9:27 am |
|
|
daniela
Joined: Fri Feb 03, 2006 12:23 pm Posts: 199 Location: Brasov, Romania
|
Please send us the xls document that you are trying to load to email address support@easyxls.com.
|
Thu Jan 17, 2008 6:17 am |
|
|