2016-07-14 17 views
2

axlsx_rails gemを使用して.xlsxファイルに書き込みます。フォームフィールドに基づいてスプレッドシートに複数の列があります。それは変わることがあります。axlsx_rails gem:列の幅の問題

利用可能なデータに基づいて、すべての列の列幅を設定したいと考えています。

私が使用している:

col_widths= [10,20,30,40,50] 
p = Axlsx::Package.new 
p.use_autowidth = true 
wb = p.workbook 
wb.add_worksheet(:name => 'try') do |sheet| 
sheet.add_row ["hi","hello","how","are","you"] 
sheet.column_widths col_widths ##this column widths method doesn't take an array. 

ですが、我々はcolumn_widthsメソッドに渡すことができるようにcolumn_widths方法やにcol_widthsの配列の値を変換する任意の他の方法に配列を渡すことができますか?

ありがとうございます。

答えて

3

The methodは、列幅のリスト、ないアレイをとります。

splat operatorを使用して、配列をリストに変換できます。 *文字を追加するだけです。

col_widths= [10,20,30,40,50] 
p = Axlsx::Package.new 
p.use_autowidth = true 
wb = p.workbook 
wb.add_worksheet(:name => 'try') do |sheet| 
sheet.add_row ["hi","hello","how","are","you"] 
sheet.column_widths *col_widths ## Here I have used the splat operator