Li Chen wrote:> Hi all,
> I have 3 2D-arrays(@data, @mean,@sd). I need to import all of them into
> Excel in the same sheet and each array is separated by one empty row.
> Here are my codes:
>
> def import_to_excel
> ...
> row_start1=1
> row_end1=@data.size
> column_start1=1
> column_end1=@data[1].size
> worksheet1.Range(worksheet1.Cells(
>
row_start1,column_start1),worksheet1.Cells(row_end1,column_end1)).Value=@data
>
> #write mean to excel
> row_start2= row_end1+2
> row_end2=row_start2+-+dtdSeJcZYKSduljivSSrQ@public.gmane.org
> column_start2=1
> column_end2=@mean[1].size
>
> worksheet1.Range(worksheet1.Cells(row_start2,
> column_start2),worksheet1.Cells(row_end2,column_end2)).Value=@mean
>
#write
> sd to excel
> row_start3= row_end2+2
> row_end3=row_start3+-zmOm2ublL+kqMp+WYRx65w@public.gmane.org
> column_start3=1
> column_end3=@sd[1].size
>
> worksheet1.Range(worksheet1.Cells( row_start3,
> column_start3),worksheet1.Cells( row_end3,column_end3)).Value=@sd
>
> ...
>
> end
>
>
> So far these codes work fine for me. But what if I have 10 2D-array
> data, Am i going to write ten similar code chunks? Is it possible to
> factor my codes?
>
>
> Thanks,
>
> Li
>
>
Hey Li
I think this''ll work, I haven''t tested it though
def import_to_excel
...populate @data, @mean and @sd
row_ended = actual_import(@data, worksheet1)
row_ended = actual_import(@mean, worksheet1, row_ended)
actual_import(@sd, worksheet1, row_ended)
...further code
end
def actual_import(dataset, sheet, previous_row_ended = -1)
row_start = previous_row_ended + 2
row_end = row_start + dataset.size - 1
column_end = ''A''
(dataset.first.size - 1).times {column_end.succ!}
sheet.Range("A#{row_start}:#{column_end}#{row_end}").Value = dataset
return row_end
end
I found a beautiful page in the rubygarden that is filled to the brim
with great excel scripts! Much thanks and respect to the author! There
are links to one or two other resources to other people''s articles, but
I couldn''t track down the name of the author him- or herself.
http://wiki.rubygarden.org/Ruby/page/show/ScriptingExcel
Hope this help,
Cheery-o
Paul, Gustav
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---