クエリを使用してRubyでExcelシート(.xls)の値を読み取る必要があります。これを行うためにルビーで利用できる宝石はありますか?もしそうなら、これについて私を助けてください。
これに関するヒントやアドバイスは素晴らしいでしょう。
ありがとうAnto
SequelとOLEDBを使用して、Excelファイルを読み取ることができます。
require 'sequel'
Encoding.default_external = 'utf-8' #needed for umlauts in excel
def read_excel(source)
source = File.expand_path(source) #Full path needed
db = Sequel.ado(:conn_string=>"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=#{source};Extended Properties=Excel 8.0;")
# Excel 2000 (for table names, use a dollar after the sheet name, e.g. Sheet1$)
p db.test_connection
dataset = db[:'Tabelle1$']
p dataset
dataset.each{|row|
puts row
}
end #test_read
read_excel('my_spreadsheet.xls')
タブの名前を知っている必要があります(私の例ではTabelle1です)
ここでの「実際の」ソリューションはSequelではなく、ADO-Interfaceです。私は他のORMに精通していないので、実際には役に立たないかもしれません。ただし、たとえばアクティブレコードを確認することもできます。
ヒント、ADOを介してMS-Accessまたはsqlserverに接続する方法があり、 ActiveRecordを使用するものもあります。私の続編の例で接続文字列をExcel-Stringに置き換えると、他のORMを使用できます。
ODBC接続を介してExcel-Dataを読み取ろうとすることもできます。
spreadsheet
gemを使用してExcelファイルからデータを読み取る
require 'spreadsheet'
doc = Spreadsheet.open('simple.xls')
sheet = doc.worksheet(0) # list number, first list is 0 and so on...
val = sheet2[r,c] # read particular cell from list 0, r for row, c for column
いくつかの情報があります。
ネット上の詳細については、Googleを使用してください。