Do all schools in China teach in Standard Chinese (普通话)? When I went to China, it was apparent that many (sometimes most) people still spoke their local dialects instead of Standard Chinese/Putonghua (also known as "Mandarin" in English). I was told that because older people didn't know Putonghua, everyone also had to know the local dialect.

But it is China's official language. Are all schools in China required to teach only in Standard Chinese? 

Are students who complete at least compulsory education in China expected to speak it fluently?
Based on my own experience, Not!

Although the schools are asked to use the Mandarin in classroom, there are still many schools that doesn't follow this rule. I was born in a little city in west China, and I had never spoken in Mandarin, before I went to the university.

In big cities, schools follow this rule, while in small cities, especially in the poor areas, many teachers are local and can't speak Mandarin very well, how could they teach the students in Mandarin? Of course, it'a trend that more and more teachers speak in Mandarin in classroom. At present, if you want to be teacher in China, you have to pass the Mandarin exam to get certified, so more and more young teachers can speak Mandarin, however, there are plenty of old teachers who can not as well.