I find that the most effective/automated and controllable way to do it in the end is to create symbols of all window/door types in the project, create an empty new Layer and put one of each type there in a long row or in a long wall.
Then create a viewport for Top/plan on a sheet, crop so it fits, duplicate and set view to front with hidden line, and annotate.
This way any information specific to that object or any change on the door/windows will reflect in the schedule symbols and the table. (unfortunately dimensioning isn't auto in hidden line front views.....
Unfortunately worksheets can't be created with a horizontal layout (this I have wished for MANY times) so I resolve it with a readable table instead, this is not really according to local building standards but still quite readable/understandable and least prone to error.
Don't forget to exlude the window/door layer from the count btw!