def extract_worksheet_ids(entries, path)
      wb = entries.find { |e| e.name[/workbook.xml$/] }
      fail ArgumentError 'missing required workbook file' if wb.nil?

      wb.extract(path)
      workbook_doc = Roo::Utils.load_xml(path).remove_namespaces!
      workbook_doc.xpath('//sheet').map { |s| s['id'] }
    end
def extract_worksheet_ids(entries, path)
      wb = entries.find { |e| e.name[/workbook.xml$/] }
      fail ArgumentError 'missing required workbook file' if wb.nil?

      wb.extract(path)
      workbook_doc = Roo::Utils.load_xml(path).remove_namespaces!
      workbook_doc.xpath('//sheet').map { |s| s['id'] }
    end
Internal: extracts the worksheet_ids from the workbook.xml file. xlsx
           documents require a workbook.xml file, so a if the file is missing
           it is not a valid xlsx file. In these cases, an ArgumentError is
           raised.

 wb - a Zip::Entry for the workbook.xml file.
 path - A String for Zip::Entry's destination path.

 Examples

   extract_worksheet_ids(<Zip::Entry>, 'tmpdir/roo_workbook.xml')
   # => ["rId1", "rId2", "rId3"]

 Returns an Array of Strings.