# encoding: utf-8 wb = xlsx_package.workbook wb.add_worksheet(name: "cancer_tool") do |sheet| if !@results[0].nil? row = [] title = sheet.styles.add_style(:bg_color => "FFFF00",:border=>{ :style => :thin, :color => "666666" },:alignment=>{ :horizontal => :center,:vertical => :center ,:wrap_text => true}) column = sheet.styles.add_style(:alignment=>{ :horizontal => :center,:vertical => :center ,:wrap_text => true},:border=>{ :style => :thin, :color => "666666" }) row << ((I18n.locale=="en") ? 'submit time' : '提亀時間') @fields = @results.first.names.keys @fields.each do |field_name| row << @results.first.names[field_name][I18n.locale.to_s].split('
')[0] end #export data start export_data_rows = [] @results.each do |result| temp_row = [] temp_row << result.created_at.to_s result.result.each do |key,value| if key != "locale" if (result.values[key][I18n.locale.to_s].length == 0 rescue true) temp_row << value else v = result.values[key][I18n.locale.to_s][value.to_i-1] rescue nil temp_row << (v.nil? ? value : v) end end end export_data_rows << temp_row end #export data end sheet.add_row row , :style=> title,:widths => row.map{|cell| (cell.length* 11/ 2).round} export_data_rows.each do |infos_row| sheet.add_row infos_row , :style=> column end end end