問題タブ [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.

0 投票する
4 に答える
14003 参照

ruby - 末尾の .0 をトリムする

部品番号を含む Excel 列があります。ここにサンプルがあります

ご覧のとおりFloatInt、 、 など、さまざまなデータ型が可能Stringです。私はrooファイルを読むためにgemを使用しています。問題は、roo整数セルを として解釈Floatし、末尾にゼロを追加することです (16431 => 16431.0)。この末尾のゼロを削除したい。to_i小数点を必要とするセルの末尾の数字 (上記の例の最初の行) をすべて削除し、行内の文字列 char の後のすべてString(上記の例の最後の行)を削除するため、使用できません。

現在、セルの最後の2文字をチェックし、それらが「.0」の場合はそれらをトリミングする方法があります

これは機能しますが、ひどくハックな感じがします。Excel ファイルの内容を Ruby データ構造に変換する適切な方法は何ですか?

0 投票する
0 に答える
616 参照

ruby-on-rails - 'spreadsheet' gem (不明なコードページ 0x906c) のエラーを修正するには?

gem 'roo' が含まれているため、xls ファイルから情報を取得する必要があります。ファイルを読み取ろうとすると、エラーが発生します。

このエラーの修正にご協力ください!

私のコード:

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 fetch' from /home/hender/.rvm/gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet/excel/reader.rb:74:in encoding' from /home/hender/.rvm/gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet/excel/reader.rb:211:in read_codepage' from /home/hender/.rvm /gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet/excel/reader.rb:821:in read_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:in open' from /home/hender/.rvm/gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet.rb:63:in open' from /home/hender/.rvm/gems/ruby-2.1.2/gems/spreadsheet-0.9.7/lib/spreadsheet .rb:69:/home/hender/.rvm/gems/ruby-2.1.2/gems/roo-1.13.2/lib/roo/base.rb:565: /open' from /home/hender/.rvm/gems/ruby-2.1.2/gems/roo-1.13.2/lib/roo/excel.rb:40:in からの mktmpdir からの初期化のブロック内 block in make_tmpdir' from /home/hender/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/tmpdir.rb:88:in home/hender/.rvm/gems/ruby-2.1.2/gems/roo-1.13.2/lib/roo/base.rb:564:in make_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:in start' 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:in run_command!' from /home/hender/.rvm/gems/ruby-2.1.2/gems/railties-4.1.1/lib/rails/commands.rb:17:in ' from /home/hender/.rvm/gems/ruby- 2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247: require' from /home/hender/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in/home/hender/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1 からの require のブロック内。 1/lib/active_support/dependencies.rb:232: load_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 からの「require」:8: <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/home/hender/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:241 からの「load_dependency」: /home/hender/.rvm/rubies からload' from /home/hender/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in の「require」で/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in require' from -e:1:in'2.1.2 :004 > ^C 2.1.2 :004 >##

0 投票する
1 に答える
1522 参照

ruby-on-rails - テキストの代わりに数値を取得する Roo

このようなExcelシートを解析するためにrooを使用しています

しかし、Roo は PM_PartNo 列に 200275577.0 という数字を何度も返します。Excel シートでは、この列にはすべてのセルがテキストとして書式設定されています。解析で返されるのは、数値としての 200275577.0 ではなく、テキストとしての「200275577」です。Excel の書式に準拠していることを確認する方法はありますか?

0 投票する
1 に答える
1877 参照

ruby-on-rails-4 - nil:NilClass に対して未定義のメソッド `[]' を与える rails4 を持つ Roo

http://railscasts.com/episodes/396-importing-csv-and-excelに基づいて Roo gem を使用して、CSV ファイルと Excel ファイルを Rails 4 プロジェクト (検証あり) にインポートしようとしています。

Rails3 の代わりに Rails4 と Roo への変更を考慮していくつかの変更を加えた結果、私の ProjectImporter モデルは次のようになりました。

(テスト CSV データを使用して) インポートを実行しようとするheader = spreadsheet.row(1)と、エラーで失敗しますundefined method '[]' for nil:NilClassputs私が含めた追加のステートメントは、spreadsheetそれ自体が nil ではないことを確認しています!!! Spreadsheet: #<Roo::CSV:0x44c2c98>。しかし、 など、予想されるほとんどすべてのメソッドを呼び出そうとすると#last_row、同じ undefined method エラーが発生します。

それで、私は何を間違っていますか?

0 投票する
0 に答える
420 参照

ruby-on-rails - Ruby で指数、下付き文字、上付き文字などの特殊文字を保持するスプレッドシート (Excel) をインポートする

Roo Gem を使用して、Rails アプリケーションのデータベースに Excel シートをインポートしています。ただし、 5 4のようなセル形式 (上付き文字、下付き文字)、1 / 2などの数学記号は無視され、54 や 1/2 のようなプレーン テキストとしてインポートされます。これらのセル/テキストのデータ保持形式をインポートする方法はありますか?

0 投票する
0 に答える
160 参照

ruby-on-rails - Railsアプリのrooとpaperclip

私はレールアプリに取り組んでおり、ペーパークリップを使用してファイルをアップロードしています.rooで処理するためにファイルを開きたいです。しかし、次のコードは私にとってはうまくいきません。xls = Roo::Excel.new(@student.file.path)

何か提案はありますか?

0 投票する
2 に答える
1920 参照

ruby-on-rails-4 - Railsは一時ファイルの名前を変更します

アップロードされたファイルにアクセスするためにroo-rbを使用しています。私のコードは次のようなものです:

しかし、生成された一時ファイルには拡張子がなく、次の例外があるため、問題が発生しています。

.../AppData/Local/Temp/RackMultipart20150216-10192-13yn50s は Excel-xlsx ファイルではありません

tempfile.path適切な拡張子 (xlsx) を持つように名前を変更する方法はありますか? または、この問題を解決するためのよりエレガントな方法はありますか?