Rails で Axlsx gem を使用してセルに新しい行を追加する方法はありますか?
基本的に、値を入力したら Excel で複製すると、Alt + Enter を実行して、セルの新しい行にテキストを追加できます。私は試した
sheet.add_row ["Testing cell row 1" + \r\n + "Testing cell row 2"]
しかし、それはエラーをスローします。
Rails で Axlsx gem を使用してセルに新しい行を追加する方法はありますか?
基本的に、値を入力したら Excel で複製すると、Alt + Enter を実行して、セルの新しい行にテキストを追加できます。私は試した
sheet.add_row ["Testing cell row 1" + \r\n + "Testing cell row 2"]
しかし、それはエラーをスローします。
私は最近同じ問題を抱えていて、うまくいく解決策を見つけました。
これを使用してセットアップしました:
p = Axlsx::Package.new
p.use_shared_strings = true
そして、このコードは、改行が正しく機能するwrap
スタイルを追加します。\r
wrap = p.workbook.styles.add_style alignment: {wrap_text: true}
sheet.add_row "1\r2\r3", style: wrap
これで、セルの新しい行が機能し、出力は次のようになります。
1
2
3
ノート:
"\x0D\x0A"
うまくいきませんでした (@noel )強制改行の場合は、「\x0A」(段落間の改行) を使用します。
キャリッジ リターンとライン フィードの両方が必要な場合は、「\x0D\x0A」を使用します。
「Mac Excel では動作しません」というコメントにコメントできなかったので、これを回答として追加します。package.use_shared_strings = true を使用します。Mac Excel に必要です。