@jtratner 

Not sure about this point, because engine is None by default, so it's possible to pass the encoding but no engine, providing the user knows that a .xls file is going to be managed by xlwt, in which case ValueError is raised anyway. Maybe better a warning? But it break the tests also...