No there is no need to be an excellent swimmer. Most people have good enough swimming skills to become a diver but there is still a minimum required. When taking entry level courses a person should be able to swim 200 meters or 660 feet continuously and this at any speed. It is not a timed exercise. They also have to demonstrate they can tread water for 10 minutes. It is to make sure that if there is an emergency, divers will be able to maintain themselves at the surface or swim back to shore or surface support. For try dives or similar first time experiences it is not required so basically anyone can try scuba diving.