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

      wb_rels.extract(path)
      rels_doc = Roo::Utils.load_xml(path).remove_namespaces!

      relationships = rels_doc.xpath('//Relationship').select do |relationship|
        worksheet_types.include? relationship['Type']
      end

      relationships.each_with_object({}) do |relationship, hash|
        hash[relationship['Id']] = relationship['Target']
      end
    end
def extract_worksheet_rels(entries, path)
      wb_rels = entries.find { |e| e.name[/workbook.xml.rels$/] }
      fail ArgumentError 'missing required workbook file' if wb_rels.nil?

      wb_rels.extract(path)
      rels_doc = Roo::Utils.load_xml(path).remove_namespaces!

      relationships = rels_doc.xpath('//Relationship').select do |relationship|
        worksheet_types.include? relationship['Type']
      end

      relationships.each_with_object({}) do |relationship, hash|
        hash[relationship['Id']] = relationship['Target']
      end
    end
Internal

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

 Examples

   extract_worksheets(<Zip::Entry>, 'tmpdir/roo_workbook.xml.rels')
   # => {
         "rId1"=>"worksheets/sheet1.xml",
         "rId2"=>"worksheets/sheet2.xml",
         "rId3"=>"worksheets/sheet3.xml"
        }

 Returns a Hash.