It is necessary to delete more than 1000 lines at once.
Did you ever consider to use a database?
Of course I tried. I am an amateur programmer, so I have little time for programming. I have tried many times to solve the problem of speeding up calculations in my profession.
1. There were attempts to write my own GUI, failed, it takes a lot of time
2. Studied third-party software. Noticed that all calculations come down to a tabular form of editing and obtaining results. Knowing that there is a lot of data, I immediately thought about a DB
3. Tried to master the DB, failed. I have no knowledge of DB, I need to study a lot. But I saw the calculations in the DB, they look terrible. The resulting tables are difficult to edit, they are not intuitively understandable. It is difficult to carry out complex calculations, everything comes down to a request. Experts said to look towards graph-based DBs, it takes a lot of time
4. Returned to Excel, I know it very well. I understand that Excel is not a DB. In attempts to make calculations in Excel, I received a new language for generating calculations using a template. I am delighted. I have 1000 lines of code for the entire generator, I can attach it to any program!
I am afraid this does not make sense. With every row deleted, every cell needs to be checked whether it contains a formula which then must be deleted or whether any other cell of the workbook (!) contains a formula with points to this cell which then must get a #REF! error. This takes some time. The FPSpreadsheet formula engine is probably too simple for this complex task.
You have written a great library, like all open source, it has bugs, errors, etc. But it is developing! I work in an open source program and write code for it. I know what bugs and errors are. I also know how funny very complex user wishes look (I know roughly what is inside our program). Your library, I know little. So, forgive me if I ask to add something difficult code to the library. So far, I only have wishes on my list that add convenience to work. There is nothing critically important.