我的HTML代码,这里传递xslx文件进行解析,
<form method="post" action="/home/parse_xlsx" enctype="multipart/form-data">
Upload XSLX File <input type="file" name="xlsx_file" id="xlsx_file" />
<input type="submit" value="Post"/>
</form>
我的控制器代码,
def parse_xlsx
xlsxFile = params[:xlsx_file]
prefix_tmp_path = xlsxFile.path
filename = xlsxFile.original_filename
fullname = File.join(prefix_tmp_path,filename)
require 'roo'
s = Roo::Excelx.new(fullname)
for i in 1..14
puts s.cell(i,3)
end
end
给我错误,
file /tmp/RackMultipart20130910-10043-u4nqsc/CMS.xlsx does not exist
当我在控制台上运行以下代码时,将我的'CMS.xlsx'文件保存在rails根文件夹&amp;它运行没有任何错误。
require 'roo'
s = Roo::Excelx.new("CMS.xlsx")
for i in 1..14
puts s.cell(i,3)
end
请解释我出错的地方。
答案 0 :(得分:0)
xlsxFile.path是文件的位置,您不必加入文件名。如果您需要保存文件,可以在将文件移动到文件位置时将其重命名为原始文件名
试
s = Roo::Excelx.new(xlsxFile.path)