Axlsxでエクセルのセルを折り返して全体を表示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require 'axlsx'

package = Axlsx::Package.new
sheet = package.workbook.add_worksheet(name: 'lists')

wrap_text = sheet.styles.add_style(
                              {
                               :fg_color=> "FFFFFF",                           # 文字色
                               :b => true,                                     # 太字
                               :bg_color => "004586",                          # 背景色
                               :sz => 12,                                      # フォントサイズ
                               :border => { :style => :thin, :color => "00" }, # 罫線
                               :alignment => { :horizontal => :center,         # 配置
                                               :vertical => :center ,
                                               :wrap_text => true}
                              }
                            )

sheet.add_row(['とっても長いテキスト', '短いテキスト'], style: wrap_text)

sheet.column_info.first.width = 5
package.serialize('test.xlsx')

Comments