I have all the settings right to generate pictures using Atlas, but I can't access the 'Controlled by Atlas' checkmark in the print layout. It's greyed out, and whatever I try I'm unable to change this. I have a shapefile as layer, and an XLS file as Coverage layer. No background. Any idea what I'm doing wrong?
In your question you state that you have a XLS file as the coverage layer. I suspect that this means your coverage layer is a table only, without any geometry information.
A geometryless table CAN be used as an atlas coverage layer (e.g. to iterate over text in the rows), but it can't be used to automatically set a map item's extent (since there's no geometry information in that table to set the extent to!). You should still be able to use the data defined scale/x min/x max/etc settings to setup the map's view, if your table has information present which would allow you to derive these values.
In QGIS3, Atlas is not visible by default, and hence "Controlled by Atlas" is greyed out. To enable Atlas, go to View-->Panels-->Atlas and enable it. You will see Atlas tab added in the items window. Check the "Generate an Atlas" box and navigate to item properties tab to see "Controlled by Atlas" enabled.