tfussell / xlnt

:bar_chart: Cross-platform user-friendly xlsx library for C++11+
Other
1.49k stars 418 forks source link

About Read and Write Performance #540

Closed NamSeungwoo closed 2 years ago

NamSeungwoo commented 3 years ago

Hi. I'm using your Xlnt Library. I have a question about Read and Write Performance.

My excel file consists of 10,000 rows with 105 columns(datatype is primary e.g. int, string, double). Eventhough a lot of vacant cell exists between begin of the columns and end of the columns , this library seems to read and write all cell in active_sheet( I actually use 1~5 columns and 43~48 columns and 83~93 colummns and 105 column to read and write from my mfc application) . It generates low performance.

Can I solve this problem? I mean that "In this library, are there any technique something like that read and write some column segments without full scanning the activate sheet?"

Thank you for reading this. I'm looking forward to your answer. Thank you!

tfussell commented 3 years ago

This is my main concern with the library right now. I used a hash map for cell data when I started the project because I thought it would be performant for random reads and writes, but it seems to be slow for certain operations. I'll look into this and report my findings soon.

dhuantes commented 3 years ago

Any updates on the performance issue? I recommended the library to a colleague and he has noticed some performance issues between spreadsheets that appear to have the same amount of content. One is fairly fast and the other is slow. I'll talk to him about getting a real example and posting it here. Thanks!

tfussell commented 2 years ago

There have been some long-standing performance issues with xlnt. I'm going to close all of the old issues in favor of a new umbrella issue https://github.com/tfussell/xlnt/issues/648 where we can discuss options to fix it.