6

RubyXL を使用して、日付を含むスプレッドシート ファイルを動的に生成しています。ドキュメンテーションはまばらなので、ソースを見てきましたが、ライブラリにはDateDateTimeを呼び出すときにのみ特別な処理がchange_contentsあるようです。それが私がやっていることです:

cell = sheet.add_cell_obj RubyXL::Cell.new(sheet, row_index, col_index)
cell.change_contents(Time.now.to_datetime)

この方法でスプレッドシートを作成すると、Excel はそれらのセルを日付としてフォーマットしません。おそらく、他のフィールドを設定する必要があると思いますcell.datatypeが、よくわかりません。または、間違ったツリーを吠えているのかもしれません。何をすべきか知っている人はいますか?

4

2 に答える 2

6

https://github.com/weshatheleopard/rubyXL/issues/210を参照してください。

c = workbook[0].add_cell(0,0)
c.set_number_format('m/d/yy')
c.change_contents(Date.today)
于 2015-12-02T21:14:06.083 に答える
-2

最終的にライブラリをフォークして自分で修正しようとした後、RubyXLは修復できないほどの混乱であると判断しました。幸いなことに、完全に狂気に陥る前に、私はAxlsxを発見しました。これは、はるかに優れた記述で、積極的にサポートされているRubygemです。RubyXLを捨てて、代わりにAxlsxを使用してください。

于 2012-11-08T19:54:06.463 に答える