I recommend you to do the following test:
- Load the data.
- Save the table with Table.SaveCSV.
- Now run your program and load the CSV file. See how much faster (if at all) it will run.
If it does run significantly faster than you can consider converting your file to a CSV file (maybe to a temporary file on the run) and then load it with LoadCSV.
Not a very good one. But you can always sort it after loading the data.
You can go over all the visible rows and add them to another table. Then save the second table. You can also create the CSV file yourself. It is pretty simple if your data doesn't include quotes and commas.