When there is no extension, xlwrap currently guesses the file type as being csv. see: https://github.com/markbirbeck/xlwrap/commit/ef3b0096d89bcd3472d5a2b1b65aefae6c08d0c6 It would be better to use the MIME type to make work out the file type.