问题标签 [roo-gem]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 修剪尾随 .0
我有一个包含零件号的 Excel 列。这是一个示例
如您所见,它可以是许多不同的数据类型:Float
、Int
和String
. 我正在使用roo
gem 来读取文件。问题在于roo
将整数单元格解释为Float
,向它们添加尾随零 (16431 => 16431.0)。我想修剪这个尾随零。我不能使用to_i
,因为它会修剪所有需要小数点的单元格的尾随数字(上例中的第一行),并将剪切String
行中字符串 char 之后的所有内容(上例中的最后一行)。
目前,我有一个方法可以检查单元格的最后两个字符,如果它们是“.0”,则修剪它们
这行得通,但感觉很糟糕和hacky。将我的 Excel 文件内容转换为 Ruby 数据结构的正确方法是什么?
ruby-on-rails - Rails Csv.new 这个类是从哪里调用的?
我在这里创建我自己版本的 Rayan Bates CSV 截屏视频......
http://railscasts.com/episodes/396-importing-csv-and-excel
我的模型中有这个...
...并在我的应用程序中收到此错误...
我找不到“Csv”类的初始化位置,或者它应该来自哪里。任何帮助表示赞赏。
ruby-on-rails - 如何修复“电子表格”gem 中的错误(未知代码页 0x906c)?
我需要从 xls 文件中获取有关 gem 'roo' 的信息。当我尝试读取文件时,出现错误。
请帮助修复此错误!
我的代码:
RuntimeError:来自 /home/hender/.rvm/gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet/excel/reader.rb:75:in 的未知代码页 0x906c
block in encoding' from /home/hender/.rvm/gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet/excel/reader.rb:74:in
从 /home/hender/.rvm/gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet/excel/reader.rb:74:in read_codepage' 中获取'encoding' from /home/hender/.rvm/gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet/excel/reader.rb:211:in
来自 /home/hender/.rvm /gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet/excel/reader.rb:821:inread_workbook' from /home/hender/.rvm/gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet/excel/reader.rb:135:in
read' from /home/hender/.rvm/gems/ruby-2.1.2/gems /spreadsheet-0.9.7/lib/spreadsheet/excel/workbook.rb:32:inopen' from /home/hender/.rvm/gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet.rb:63:in
open' 来自 /home/hender/.rvm/gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet .rb:69:inopen' from /home/hender/.rvm/gems/ruby-2.1.2/gems/roo-1.13.2/lib/roo/excel.rb:40:in
block in initialize' from /home/hender/.rvm/gems/ruby-2.1.2/gems/roo-1.13.2/lib/roo/base.rb:565:inblock in make_tmpdir' from /home/hender/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tmpdir.rb:88:in
mktmpdir' from / home/hender/.rvm/gems/ruby-2.1.2/gems/roo-1.13.2/lib/roo/base.rb:564:inmake_tmpdir' from /home/hender/.rvm/gems/ruby-2.1.2/gems/roo-1.13.2/lib/roo/excel.rb:31:in
initialize' 来自 /home/hender/helloapp/app/models/mode。 rb:26:new' from /home/hender/helloapp/app/models/mode.rb:26:in
你好'
... 2 个级别...来自 /home/hender/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/console.rb:9:instart' from /home/hender/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:69:in
console' 来自 / home/hender/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:40:inrun_command!' from /home/hender/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands.rb:17:in
'来自/home/hender/.rvm/gems/ruby- 2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:inrequire' from /home/hender/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in
block in require' 来自 /home/hender/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1。 1/lib/active_support/dependencies.rb:232:inload_dependency' from /home/hender/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in
需要'来自 /home/hender/helloapp/bin/rails:8:in<top (required)>' from /home/hender/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:241:in
加载'来自 /home/hender/.rvm/gems/ruby-2.1.2/gems /activesupport-4.1.1/lib/active_support/dependencies.rb:241:inblock in load' from /home/hender/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in
load_dependency' 来自 /home/hender/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:241:inload' from /home/hender/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in
require' 来自 /home/hender/.rvm/rubies /ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from -e:1:in
'2.1.2 :004 > ^C 2.1.2 :004 >##
ruby-on-rails - 检测 ruby 中 xlsx 内容的编码
我有一个允许上传 xls、xlsx 和 csv 格式的电子表格的应用程序。这些数据后来在各种面向客户的地方使用。管理数据的人员使用各种工具来创建电子表格,包括 mac/excel、win/excel、win/openoffice、linux/libreoffice...
真正的问题是 mac/excel 编码,它创建了一些看起来令人讨厌的字符串。有什么方法可以确保文件内容的编码是有效的 utf-8?
我的方法只是 File.read(file.path).valid_encoding?检查仅适用于 csv...
ruby-on-rails - Roo 获取数字而不是文本
我正在使用 roo 解析出这样的 excel 表
但是,Roo 一直给我一个 PM_PartNo 列的编号 200275577.0。在 Excel 工作表中,此列的所有单元格都设置为文本格式。解析中应该返回的是“200275577”作为文本,而不是 200275577.0 作为数字。有没有办法确保它符合 excel 格式?
ruby-on-rails-4 - 带有 rails4 的 Roo 为 nil:NilClass 提供未定义的方法 `[]'
我正在尝试基于http://railscasts.com/episodes/396-importing-csv-and-excel使用 Roo gem 将 CSV 和 Excel 文件导入到 rails 4 项目(带有验证) 。
我对 Rails4 而不是 Rails3 以及对 Roo 的更改进行了一些更改,我的 ProjectImporter 模型现在看起来像:
当我尝试运行导入(使用测试 CSV 数据)时,它会失败header = spreadsheet.row(1)
并出现错误undefined method '[]' for nil:NilClass
。puts
我包含的额外语句证实了它spreadsheet
本身不是 nil:它给出了!!! Spreadsheet: #<Roo::CSV:0x44c2c98>
. 但是,如果我尝试在其上调用几乎任何预期的方法,例如#last_row
,它会给我同样的未定义方法错误。
那么我做错了什么?
ruby-on-rails - 在 Rails 中导入共享的 Google 电子表格
我正在尝试使用 Roo 将共享的(对所有人)Google 电子表格导入我在 Rails 中的数据库中。以下代码:
给我
nil:NilClass 的未定义方法 `spreadsheet_by_key' 错误消息。
你能建议我做错了什么吗?在 Rails 中导入共享的 Google 电子表格最简单的方法是什么?
ruby-on-rails - 导入电子表格(excel),保留Ruby中的指数、下标、上标等特殊字符
我们正在使用 Roo Gem 将 Excel 工作表导入 Rails 应用程序中的数据库。但它忽略了像 5 4这样的单元格格式(上标、下标)、像1 / 2这样的数学符号,并将其导入为像 54 和 1/2 这样的纯文本。有什么方法可以导入这些单元格/文本的数据保留格式?
ruby-on-rails - Rails 应用程序中的 roo 和回形针
我正在开发一个 Rails 应用程序,我正在使用回形针上传文件,我想打开文件以使用 roo 进行处理。但是下面的代码对我不起作用。xls = Roo::Excel.new(@student.file.path)
有什么建议吗?
ruby-on-rails-4 - Rails 重命名临时文件
我正在使用roo-rb来访问上传的文件。我的代码是这样的:
但是我遇到了问题,因为生成的临时文件没有扩展名,而且我遇到了这个异常:
.../AppData/Local/Temp/RackMultipart20150216-10192-13yn50s 不是 Excel-xlsx 文件
有没有办法重命名tempfile.path
它以使其具有适当的扩展名(xlsx)?或者有没有更优雅的方法来解决这个问题?