簡體   English   中英

Rails打開xls(excel)文件

[英]Rails open xls(excel) file

我有一個來自excel的文件b.xls我需要將它導入我的rails應用程序

在此輸入圖像描述

我試過打開它

file = File.read(Rails.root.to_s+'/b.xls')

我有這個 在此輸入圖像描述

file.encoding => #Encoding:UTF-8

我有幾個問題:

  1. 如何打開沒有這個符號(正常語言)?
  2. 如何將此文件轉換為哈希?

    文件相當大約5k行

您必須擁有所有行的數組,然后如果您願意,可以將其轉換為某個哈希值。

我建議使用batch_factory gem
寶石非常簡單,依賴引擎蓋下的roo寶石。
這是代碼示例

require 'batch_factory'
factory = BatchFactory.from_file(
  Rails.root.join('b.xlsx'),
  keys: [:column1, :column2, ..., :what_ever_column_name]
)

那你可以做

factory.each do |row|
  puts row[:column1]
end

您也可以省略指定keys 然后batch_factory將自動從第一行獲取標頭。 但你的鑰匙將是俄語。 喜歡

factory.each do |row|
  puts row['Товар']
end

如果您想使用產品名稱作為密鑰進行哈希,則可以執行此操作

factory.inject({}) do |hash, row|
  hash.merge(row['Товар'] => row)
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM