Hi,
With a mass action, in System>Massactions, you can use an action "export CSV file" on the product data with the columns product_id, product_name, category_name, product_sales, product_quantity and product_published and you'll get what you want. Note however that in that case, you can't select the period for the sales data, nor the order statuses to take into account, so the product_sales value might not be what you want.
In fact, you can get this data with the press of a button with the "export" button on the products listing, so it seems pretty easy to me.
Now, if you want something accurate for the sales, you can go in the Orders>Reports menu. There, you should have a "top sales" report already precreated. That report will display the columns: product_name, sales and product_id
The data you'll get can be tweaked to take into account a certain period of time, and you can also select the order statuses to take into account with the settings of the report. Also, you can change the "limit" setting to increase the number of results to output (if you have a lot of entries, it can lead to a long processing time since everything is calculated dynamically).
Finally, if you change the "Displayed Information" setting to "orders", you'll also get the quantity sold, which will be accurate as it will be dynamically calculated based on the time period selected, the order statuses selected, etc.
It's a bit more complex than a mass action, and it doesn't have all the columns you want but it is accurate and more customizable regarding the filtering of the data. Now, if you want extra columns to be generated by the report, it should be possible with a view override and a bit of PHP coding.