What it exactly do these do ( RubyXL::Parser.parse and Roo::Excelx.new) when opening a file?

Do they open a file and load it into memory?

I’m asking because it seems to take a long time opening a file but after it opens looping into the variable is REALLY fast, could someone explain me or tell me where can I find an explanaition on how this sort of things work?

Usually the simplest way to learn how a gem works internally is to go
and read the source code. This should be available in the gem files, on
a github repository, or in the documentation.

I’m asking because I’m new to both ruby and rails and my knowledge is not enough to understand source code

I haven't examined Roo, but you can see RubyXL reading the file into
memory here:
https://github.com/gilt/rubyXL/blob/master/lib/rubyXL/parser.rb