tag:blogger.com,1999:blog-7577421612120825312.post5975796822736637971..comments2023-10-03T10:41:13.944+01:00Comments on Functional Fun: Which .Net Excel IO Component should I use?Anonymoushttp://www.blogger.com/profile/01345100698738870730noreply@blogger.comBlogger18125tag:blogger.com,1999:blog-7577421612120825312.post-78247489438806805612012-08-09T10:46:16.752+01:002012-08-09T10:46:16.752+01:00Hello, I wrote a simple Windows Form application i...Hello, I wrote a simple Windows Form application in Visual Studio 2010, that tries to write something in a cell and save the page to disk. But nothing works, I do not know how much. Could you help me?Guestnoreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-12741641783792307372012-03-23T11:43:07.544+00:002012-03-23T11:43:07.544+00:00Try considering EasyXLS (http://www.easyxls.com) a...Try considering EasyXLS (http://www.easyxls.com) as well ;)Adriannoreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-7162878784133288272011-05-16T15:49:27.731+01:002011-05-16T15:49:27.731+01:00BTW can you provide a sample of code?! for testing...BTW can you provide a sample of code?! for testing on other commercial components?!Oleksandr Kucherenkohttp://www.artfulbits.comnoreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-90581084292702527912011-05-16T15:49:26.473+01:002011-05-16T15:49:26.473+01:00Here are my first impressions on some of the produ...Here are my first impressions on some of the products you didn't look at in depth. To give some perspective, my goal was to find a component that would let me create a spreadsheet that will be filled out by users. I needed to use dropdown lists for some columns, driven off of named ranges. Because my needs are fairly simple, I decided to see if any of the cheaper products would work for me. Performance with large data sets is not my primary concern.<br><br>Gembox is very limited. It supports writing values, functions, and some simple formatting. It doesn't support setting validation for cells, which is needed to create dropdown lists. Their documentation is pretty sparse, and they only give a few trivial examples of how to use their APIs. <br><br>Apose has an API that is much more fully featured, and from what I can tell, fully supports the full range of excel's validation options for cells. Their documentation was pretty good, and they provided lots of examples. It supports everything I need to do, and I'll likely be using it.davenoreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-14783194428567519212010-06-22T23:21:51.509+01:002010-06-22T23:21:51.509+01:00There is also SoftArtisans ExcelWriter: http://off...There is also SoftArtisans ExcelWriter: http://officewriter.softartisans.comAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-5543549466944343712010-06-09T21:32:51.870+01:002010-06-09T21:32:51.870+01:00Hi Samuel,
Your post enlightened my slow performa...Hi Samuel, <br />Your post enlightened my slow performance woes with Syncfusion xlsio. Creating a worksheet with 40+ columns and 25000+ rows took almost 10-15 minutes! <br />Your point on the IRange object (creating a new array each time) was likely the cause of the performance issue. <br /><br />Instead of using the indexer of the worksheet object (i.e. sheet[rowNumber, columnNumber].Text = "some value"), I used the SetText and SetNumber functions of the worksheet. Using these, and reducing the amount of cell styling, the worksheet was made in under 15 seconds, and the output size was halved!Unknownhttps://www.blogger.com/profile/07182466830344888848noreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-9894953903226319212010-04-22T19:36:27.830+01:002010-04-22T19:36:27.830+01:00For those interested, also check out
Nasosoft Na...For those interested, also check out <br /><br />Nasosoft Nasosoft Excel<br />Bytescout Spreadsheet SDK<br />ExpertXLS Excel Library for .NETAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-44507337775012242072009-10-13T06:43:23.994+01:002009-10-13T06:43:23.994+01:00Aspose is far more robust than Gembox but Gembox i...Aspose is far more robust than Gembox but Gembox is fast, fast, fast for most items. I maintain extension methods for both engines and use them as needed.<br /><br />Aspose also has an issue with language. The developers do not always take the best approach vis-a-vis what an English-speaking developer would do. I have been able to do complex actions though and have made workarounds using extension methods.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-28377021883521866662008-09-19T09:21:00.000+01:002008-09-19T09:21:00.000+01:00Dave, Thanks for posting that. I'm sure readers w...Dave,<BR/> Thanks for posting that. I'm sure readers with requirements like your will find that helpful.<BR/><BR/>SamAnonymoushttps://www.blogger.com/profile/01345100698738870730noreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-6488483298081082622008-09-18T18:34:00.000+01:002008-09-18T18:34:00.000+01:00Here are my first impressions on some of the produ...Here are my first impressions on some of the products you didn't look at in depth. To give some perspective, my goal was to find a component that would let me create a spreadsheet that will be filled out by users. I needed to use dropdown lists for some columns, driven off of named ranges. Because my needs are fairly simple, I decided to see if any of the cheaper products would work for me. Performance with large data sets is not my primary concern.<BR/><BR/>Gembox is very limited. It supports writing values, functions, and some simple formatting. It doesn't support setting validation for cells, which is needed to create dropdown lists. Their documentation is pretty sparse, and they only give a few trivial examples of how to use their APIs. <BR/><BR/>Apose has an API that is much more fully featured, and from what I can tell, fully supports the full range of excel's validation options for cells. Their documentation was pretty good, and they provided lots of examples. It supports everything I need to do, and I'll likely be using it.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-87696458942021290972008-09-18T15:52:00.000+01:002008-09-18T15:52:00.000+01:00Dave, Glad I could help. Perhaps you might like to...Dave,<BR/> Glad I could help. Perhaps you might like to add your rating to the post :-)<BR/><BR/>SamAnonymoushttps://www.blogger.com/profile/01345100698738870730noreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-40849241959994778822008-09-18T14:48:00.000+01:002008-09-18T14:48:00.000+01:00Thanks for posting this. As somebody who is altog...Thanks for posting this. As somebody who is altogether unfamiliar with programmatically reading/writing excel spreadsheets yet finding myself needing to do so, I found this post to be a good starting point for my own research.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-60024665773339780922008-08-22T12:47:00.000+01:002008-08-22T12:47:00.000+01:00Thanks Dhivya. I was aware that you can use Ranges...Thanks Dhivya. I was aware that you can use RangesCollection like that, but my point was that the standard IRange object isn't the same as Excel's. Also, the Merge operation on Ranges only works if ranges can be merged to form one Rectangle; it fails if ranges are disjoint.Anonymoushttps://www.blogger.com/profile/01345100698738870730noreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-53047177828132950212008-08-22T12:28:00.000+01:002008-08-22T12:28:00.000+01:00Ranges with union of multiple rectangular ranges i...Ranges with union of multiple rectangular ranges is also supported by Syncfusion's XlsIO. Here is how it can be done:<BR/><BR/>//Union of multiple ranges<BR/>IRanges rangeCollection = mySheet.CreateRangesCollection();<BR/>IRange range1 = mySheet.Range["A1:A2"];<BR/>IRange range2 = mySheet.Range["C1:C2"];<BR/>rangeCollection.Add(range1);<BR/>rangeCollection.Add(range2);<BR/>rangeCollection.Text = "XlsIO";Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-74603465191740907152008-08-21T16:16:00.000+01:002008-08-21T16:16:00.000+01:00I didn't get round to creating any proper benchmar...I didn't get round to creating any proper benchmarks, and I would be embarassed to release the code I have to the world: it's not fit to be seem ;-).<BR/><BR/>As I mentioned, it was a couple of specific API calls when used with a very large workbook that caused the problem with XlsIO - on the whole performance wasn't too bad. <BR/><BR/>The problem with the Delete row call seemed to be to do with checking and updating possible formula references to the row. SpreadsheetGear just didn't have this problem; they have obviously coded that part more efficiently.Anonymoushttps://www.blogger.com/profile/01345100698738870730noreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-85930695527437282292008-08-21T16:07:00.000+01:002008-08-21T16:07:00.000+01:00Could you give a sample code in VBA or XlsIO or Sp...Could you give a sample code in VBA or XlsIO or SpreadsheetGear (or better all of them) which was so much faster in SpreadsheetGear? (I really want to see it with my eyes)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-33111863531987479162008-08-21T16:03:00.000+01:002008-08-21T16:03:00.000+01:00BTW can you provide a sample of code?! for testing...BTW can you provide a sample of code?! for testing on other commercial components?!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7577421612120825312.post-84920113862565449982008-08-21T15:59:00.000+01:002008-08-21T15:59:00.000+01:00I think you catch the same problem as me in XlsIO....I think you catch the same problem as me in XlsIO... but trick is that if you sit a little with any profiler then you will find that in most cases can be found less expensive in time XlsIO operation.<BR/><BR/>As syncfusion support said it's due to Excel API interfaces they have to keep... <BR/><BR/>You can ask syncfusion support for assist and after a while got optimized code from syncfusion developers.Anonymousnoreply@blogger.com