I'm developing a reporting application where a user can make some searches on our database against an extremely large data set and display them in a table on a web page. One of the searches has the potential to display way too much data for the web page to reasonably display in HTML on a single page. Pagination and "Load More"/infinite scrolling models aren't possible as the user needs the option to print or sort this whole result set. Exporting the data to a non-HTML format is possible.
I need to inform the user that their search can't be completed (as normal, at least), but how? Should I show the partial output with a message like "please narrow your search" or should I refuse to display too much data?
Displaying the large data set on the page results in very slow load time (>30 seconds), and they're going to have to run the search again to get a "full" data set. At the same time I'm afraid a "please narrow your search" message may be too vague. It is possible for me to tell them how many possible rows their search would have pulled, and how many rows I am displaying, but I'm not sure how to word this.
How can I tell a user that their search has been canceled?
The user has specifically said they don't want the data paginated except for print, all results need to be continuous.