RubyコードでExcelxファイルの読み取りと書き込みを行う必要があります。スプレッドシートで試してみましたが、xlsx形式はサポートされていません。Rooもファイルを読み取り、xlsxに書き込みません。
Excelxに書き込むgem /プラグインはありますか?
Xlsxファイルの書き込み/エクスポートのタスクでは、Axlsxは私が見つけた中で最も機能が充実したライブラリです。ただし、xlsxファイルの読み取り/インポートはサポートしていません。
https://github.com/randym/axlsx
著者の説明は次のとおりです。
グラフ、画像、自動化された列幅、カスタマイズ可能なスタイル、完全なスキーマ検証を使用したxlsx生成。 Axlsxは、ECMA仕様全体を理解しなくても、美しいOffice OpenXMLスプレッドシートドキュメントの生成を支援することに優れています。 READMEの簡単な例については、こちらをご覧ください。何よりも、シリアル化の前にxlsxファイルを検証できるため、生成されたものがすべてクライアントのマシンに読み込まれることを確認できます。 。
rubyXLは読み取りと書き込みの両方を行うようです https://github.com/gilt/rubyXL まだ使用していません。
上記の宝石のリストに加えて、Roo( https://github.com/roo-rb/roo )は人気のあるRuby宝石の管理に使用されます) Excelおよびxlsxファイルを操作します。
WIN32OLEをExcelで利用することで多くの成功を収めました。例として、私はいつも rubyonwindows.blogspot.com に戻っています。
XLSXファイルは、基本的にXMLファイルのzip形式のコレクションです。適切なgemが見つからない場合は、Rubyを使用して手動で生成してみてください。おそらく、Excelから保存された空のテンプレートを使用します。以前はそれを行っていましたが、かなりうまく機能しましたが、残念ながら、コードはオープンソースではありません。
しかし、最終的には、結果の外観をより細かく制御する必要があったため、Excelの自動化を使用して.NETベースのソリューションを作成しました。
既存のすべてのRuby ExcelライブラリのインターフェイスはRubyに非常に似ておらず、ファイルを読み取るときにセルタイプを決定するときに特に不正確であることがわかりました。
したがって、(IMO)より単純なものを探している場合は、 simple_xlsx_reader と simple_xlsx_writer の組み合わせを使用することに成功しました。
私はsimple_xlsx_readerの作成者であり、この記事の執筆時点では、simple_xlsx_writerによって生成されたファイルを読み取るためのすべてのユースケースをアサートするテストがsimple_xlsx_readerにないため、完全にサポートされているとは言えませんが、さまざまな統合テストに両方のライブラリを連続して使用する本番アプリケーションを問題なく展開しました。
このgemを確認してください。難しいフォーマット/レイアウトのgem'axlsx '、github:' randym/axlsx '、branch:' master 'を生成し、これらのリンクでドキュメントを参照するのに非常に便利です axlsx-documentation
使用できるgemなしで(csvおよびxslx)をエクスポートするには-
https://gorails.com/episodes/export-to-csv
このリンクは、csvでエクスポートする方法を示しています。以下は、xlsxを取得する方法です。
to_csvメソッドを呼び出すメソッドを見つけます。
send_data @ models.to_csv、ファイル名: "契約-#{Date.today} .csv"
次のように書く-
send_data @ models.to_csv、ファイル名: "契約-#{Date.today} .xlsx"
それは私のために働いた!!!