私はExcelを読んで2つのセルを印刷する簡単なスクリプトを持っています:
require 'rubygems'
gem 'ruby-ole','1.2.11.4'
require 'spreadsheet'
class Filter
# Gets zipcode range
def get_zipcode_range
wb = Spreadsheet.open "../data/zipcode_range.xls"
sheet = wb.worksheet 0
[sheet.cell(0, 0), sheet.cell(0, 1)]
end
end
f = Filter.new
puts f.get_zipcode_range
ファイル構造は次のとおりです。
FilterExcel
data
zipcode_range.xls
lib
filter.rb
コマンド プロンプトを開き、FilterExcel\lib に移動して実行すると、次のようになります。
ruby filter.rb
期待される出力が得られます。
3911AW
3911ZZ
しかし、プロジェクトのルート フォルダーである FilterExcel からスクリプトを実行すると、次のエラーが発生します。
C:\Documents and Settings\Erik\FilterExcel>ruby lib\filter.rb C:/Ruby193/lib/ruby/gems/1.9.1/gems/spreadsheet-0.7.4/lib/spreadsheet.rb:68:in ' initialize': そのようなファイルまたはディレクトリはありません - ../data/zipcode_range.xls (Errno::ENOENT) from C:/Ruby193/lib/ruby/gems/1.9.1/gems/spreadsheet-0.7.4/lib/spreadsheet .rb:68: in 'open' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/spreadsheet-0.7.4/lib/spreadsheet.rb:68: in 'open' from lib/filter. rb:56:in 'get_zipcode_range' from lib/filter.rb:63:in ''
PS それが問題なら、私は Windows XP を使用します。