Fix consequence of previous update to support multiple worksheets default worksheet 'sheet1' no longer set becuase worksheet() method not called now have to set manually inside _write_xlsx_row() if ->worksheet_name() not set in calling script
* move filename/filetype validation to earlier in object creation cycle, from BUILD to _build_filetype, as empty args to object causing undef value errors in _build_filetype before finally dying in BUILD block * replaced try/catch with Test::Exception throws_ok
* replace global xlsx_data var with class attribute to prevent data persistence when object created again in same scope * new attribute to prevent close() being called more than once on xlsx_data string, though probably no harm if it does * new test file