您好我正在尝试将spreadhseet中的单元格值与下面给出的字符串进行比较。
workbook = Spreadsheet::ParseExcel.parse(name)
#Get the first worksheet
worksheet = workbook.worksheet(0)
puts worksheet.cell(4,0).to_s
puts "SecurityKey".to_s
puts "SecurityKey".to_s.eql? worksheet.cell(4,0).to_s
我尝试了==
,.eq?
以及所有其他可能的字符串比较技术,但即使两个字符串相同,它也始终为false。你可以帮帮我吗?
提前致谢
答案 0 :(得分:0)
单元对象具有许多子对象和方法。价值 (读/写)方法返回Cell内部存储的值。 单元格的Text(只读)方法返回当前值 显示。例如,如果单元格的值为“1234.56789” 作为货币,Value和Text方法返回不同的值
http://rubyonwindows.blogspot.com/2007/04/automating-excel-with-ruby-rows-columns.html
尝试使用值或文字
worksheet.Cells(4, 0).Value == "SecurityKey"
worksheet.Cells(4, 0).Text == "SecurityKey"
修改强>
避免使用parseexcel。尝试像
这样的东西require 'spreadsheet'
Spreadsheet.client_encoding = 'UTF-8'
workbook = Spreadsheet.open '/path/to/file.xls'
first_sheet = workbook.worksheet 0 # or name
cell = first_sheet.row(1).at(4)