gpt4 book ai didi

ruby-on-rails - 如何用roo打开xls文件

转载 作者:行者123 更新时间:2023-12-04 04:24:26 44 4
gpt4 key购买 nike

我有一个“.xls”文件,我必须用 roo 打开它,而且必须用 rake 打开它。

这是我的 rake 文件:

require 'roo'
namespace :exel do

task open: :environment do

workbook = Roo::Excel.new("lib/tasks/users.xls")
password_length = 6
password = Devise.friendly_token.first(password_length)
p password
username = "#{workbook.row(5)[0]}#{workbook.row(5)[1]}".slice!(0..7).downcase
p username
test_user = User.create!(email: 'someone@something.com',
f_name: workbook.row(5)[0],
l_name: workbook.row(5)[1],
username: username,
validity_date: workbook.row(5)[3],
:password => password,
:password_confirmation => password)
p test_user
end
end

当我运行 rake:exel 时,我得到一个 Ole::Storage::FormatError: OLE2 signature is invalid 错误。来自 roo gem site我知道 roo 需要 roo-xls gem,我在我的 gemfile run bundle install 上设置了它,但它没有帮助:(

当我将格式更改为 xlsx 时效果很好,但我必须以 .xls 格式打开它,我的想法是我没有正确导入 roo-xls gem。

任何帮助,想法都会很有帮助。

最佳答案

我有解决方案:)改变:

workbook = Roo::Excel.new("lib/tasks/users.xls")

到:

workbook = Roo::Spreadsheet.open("lib/tasks/users.xls", extension: :xlsx) 

这样我就不必更改文件,因为它将以 xlsx 格式打开,这是适合我的文件,另一方面,代码如下:

workbook = Roo::Excelx.new("lib/tasks/users.xls", extension: :xlsx) 

返回错误:TypeError: lib/tasks/users.xls is not an Excel 2007 file

关于ruby-on-rails - 如何用roo打开xls文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33194427/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com