Copy specific files and keep the subfolder structure
rsync -avh --include='*/' --include='*.xls' --exclude='*' path/to/sourceFolder/ path/to/destinationFolder


Note the / at the end of the source path, it's important. This solution would add all empty directories, if you don't want them, look at the option --prune-empty-dirs.

With brace expansion you can actually include more filetypes at once, rather than having

--include='*.xls' --include='*.pdf' --include='*.txt'


you can use 

--include='*.'{xls,pdf,txt}