When I try to export the S&P 500, I only get the first 100 or so stocks. Why?

Export will export the rows that are currently displayed in the table. The table creates separate pages for large row sets such as the S&P 500. It breaks them into separate pages of of just over 100 rows each. The rows of the currently visible page are what is actually written in an export operation.

To get all of the S&P 500 together in one spreadsheet, a workaround is needed. Export the first page. Then simply move to the next page in the table and export again. Repeat this process until all pages are exported. In the case of the S&P 500, it will result in five pages and five spreadsheets. The final step is to open all five spreadsheets and merge the contents into one. This technique works for any row set that exceeds one page in the table.