I was working with a large excel file with many rows of merged cells when I noticed that the performance was really bad. After using a profiler, I identified a possible issue with the implementation of MultiCellRange.contains in worksheet.cell_range.py
Each query of contains is O(n) in number of ranges, which is really slow. I propose that a more efficient data structure be used, like a quad tree or a simpler set-based solution.
I would love to contribute code but I'm new to open source so I don't know how the process works. Let me know if I can help.