2012-07-11 1 views
0

안녕하세요 아래 주어진 문자열을 사용하여 스프레드 시트의 셀 값을 비교하려고합니다. 스프레드 시트 셀 값과 루비 문자열을 비교하십시오.

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? 다른 모든 가능한 문자열 비교 기법을 시도했지만 두 문자열이 같은 경우에도 항상 거짓 발생합니다. 너 나 좀 도와 줄 수있어 ?? 셀 객체가 많은 자식 개체 및 방법을 가지고 사전

답변

0

감사합니다. 값 (읽기/쓰기) 메서드는 내부적으로 저장된대로 Cell의 값을 반환합니다. 셀의 텍스트 (읽기 전용) 메서드는 현재 이 표시된 값을 반환합니다. 셀 값이있는 경우 예를 들어, "1234.56789"이 통화로 서식, 값 및 텍스트 방법은 서로 다른 값

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) 
+0

같은 것을 시도 나는 같은 시도하지만 난 얻을 "#에 대한 정의되지 않은 메서드'텍스트 '<스프레드 시트 :: ParseExcel :: 워크 시트 : 셀 : 0x101176108> (NoMethodError)"내가 (worksheet.cell로 할 때 x, y) 및 worksheet.Cells (x, y) 또는 worksheet.Cell (x, y) 시도 할 경우 끊었습니다. 저 좀 도와 주 시겠어요??? – MobileAutomator

+0

출근 : 고맙습니다. :) – MobileAutomator