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/.