My lovely boyfriend completely ruined 2 seat cushions on a loveseat after working on a dirty construction site. Fortunately we were able to find a chintz fabric in one of the fabric stores in the strip that was a near match. Although I sew, there was cording and zippers involved, so I decided to leave it to the experts.
We took the seat cushions and replacement fabric to T's Upholstery. They did a great job making new cushion covers and were done in no time. They were not offended that the fabric was purchased elsewhere and it was a pleasant experience throughout.
They also have a great store with all kinds of home decor items, too.