如何解析Excel文件,该文件将为我提供与视觉上完全相同的数据?

Dav*_*ave 7 ruby xls ruby-on-rails roo-gem ruby-on-rails-5

我在Rails 5(Ruby 2.4)上.我想阅读.xls文档,我想将数据转换为CSV格式,就像它出现在Excel文件中一样.有人建议我使用Roo,所以我有

book = Roo::Spreadsheet.open(file_location)
sheet = book.sheet(0)
text = sheet.to_csv
arr_of_arrs = CSV.parse(text)
Run Code Online (Sandbox Code Playgroud)

但是返回的内容与我在电子表格中看到的不同.对于isntance,电子表格中的单元格具有

16:45.81
Run Code Online (Sandbox Code Playgroud)

当我从上面得到CSV数据时,返回的是

"0.011641319444444444"
Run Code Online (Sandbox Code Playgroud)

如何解析Excel文档并获得我所看到的内容?我不在乎我是否使用Roo来解析,只要我能获得CSV数据,这是我所看到的,而不是一些奇怪的内部表示.作为参考,当我运行"file name_of_file.xls"时,我正在解析的文件类型为...

Composite Document File V2 Document, Little Endian, Os: Windows, Version 5.1, Code page: 1252, Author: Dwight Schroot, Last Saved By: Dwight Schroot, Name of Creating Application: Microsoft Excel, Create Time/Date: Tue Sep 21 17:05:21 2010, Last Saved Time/Date: Wed Oct 13 16:52:14 2010, Security: 0
Run Code Online (Sandbox Code Playgroud)

小智 0

您可以使用转换器选项。看起来像这样:

arr_of_arrs = CSV.parse(text, {converters: :date_time})

http://ruby-doc.org/stdlib-2.0.0/libdoc/csv/rdoc/CSV.html