This is a frequent thing. I am dealing with this now, with my pup Toffee.
They are excited, as they should be, Life is Great! They usually have been just sitting and festering while their human is staring at a box. I have been working on how to fix this, though, especially when they're close to dragging their human across the street!
First, shorten the leash. This can be done two ways. You can pull the leash, which can be tiresome or, my favorite technique, is the wrap the leash around your waste and putting it through the handle. I like this because the dog now pulls you from the waste and you're reducing any possibility of the dog escaping or your arm breaking :D. This is a temporary fix, of course, to soften the human's abrasive experience.
When in a pickle, I'll sometimes loop the handle with the leash and just casually hold it from falling down. This has saved me on Swamp Rabbit Trail where it can be more crowded than rush hour traffic on the weekends.
Then when you get home, buy one of these leashes.
For only $20 you can get something like this awesome dog leash for your waste! I highly recommend this type of leash because not only does it strap to your waste but it also has the bungee with a handle (!) and a pouch to put treats, dog bags, phone, etc. in!
I strongly advise *against* retractable leashes unless you have a teeny tiny dog. I know of people who have broken their fingers with these hard plastic leashes when a dog sprints to chase a squirrel, etc. A strong leash is crucial.
Secondly, use a harness!!!!
I cannot stress this enough - NOT A PRONG COLLAR!!! Ever. I don't care what your dog trainer told you, they're wrong. Don't make me show you the photos of what these torture devices do to dogs necks!
Finally, reward your dog!!! Knowing what your dog loves the most as its preferred stimulus is crucial in training. For example, some dogs respond to treats while other dogs may prefer audible praise or pets! (Or Both!)