It is going to be hard to find a heat exchanger that is the 17" dimension. You will probably need to either use a 16x20" or if possible it I would try stretching the duct to 18" so you can use a 18x20. To get the most possible surface area you need access to both sides of the duct. Pretty much any heat exchanger you will find will have a 1" lip at each end where the pipes loop around. The heat exchangers are sold by finned area and do not include these 2" in the dimension.
If you leave 1" of sheet metal on the duct you can bend it out 9 degrees and screw to the heat exchanger flange. Since cutting both sides out, just slicing the corners a bit farther should easily get you an extra 1" of width.
Otherwise, if you only have access to one side of the duct you will probably have to use a 16" x 18" heat exchanger. It should put out enough heat for what you need but will cause some restriction. Probably not too big of a deal unless you have A/C running through it.