From: Rochit Sen Date: 2013-07-30T18:20:57+09:00 Subject: Re: Losing values upon converting object to Array Chris Hulan wrote in post #1117068: > The loop goes through all the rows, and then you write to the CSV so you > are only writing the last row, which may be empty? > > In the loop, you are creating a new array containing a single value,for > each row/col > Not clear from the code if you really need the assignment either, seems > redundant. > In any case this is what I think it should be: > > workbook = Roo::Excelx.new("#{@file}") > workbook.default_sheet="#{@sheet}" > CSV.open("test.csv",'w') do |writer| > 7.upto(workbook.last_row) do |line| > @col1 = (devstatus = workbook.cell(line, 'H')) > @col2 = (availabletesting = workbook.cell(line,'Y')) > @col3 = (firstroundstatus = workbook.cell(line,'AB')) > @col4 = (secondroundstatus = workbook.cell(line,'AH')) > @col5 = (thirdroundstatus = workbook.cell(line,'AL')) > writer << [@col1,@col2,@col3,@col4,@col5] > end > end > > I don't have Ruby at work so this is just an educated guess ;) Hi Chris, Thanks for the help. Yes, it was the incorrect csv loop. Issue resolved. Thanks -- Posted via http://www.ruby-forum.com/.