Excel XLSX用の無料・超高速Rubyライター&リーダー

超高速のオープンソースRubyライブラリは、ソフトウェア開発者がExcel XLSXファイルを作成、読み取り、操作できるようにします。Excelのセル、行、列の書式設定や結合・分割を適用できます。

Fast_Excelとは?

Ruby アプリケーションは非効率的な Excel 作成で遅くなっていますか? Fast_Excel は、メモリ過負荷なしで高速に Excel ファイルを作成できるウルトラ高速 Excel ライターです。この強力なオープンソースの Ruby スプレッドシート API は、最適化された libxlsxwriter C ライブラリへの Ruby FFI バインディングとして機能し、C の速度をクリーンな Ruby インターフェースで提供します。高性能な無料 Ruby Excel ライブラリとして、最小限のメモリフットプリントを維持しながら、Excel XLSX ファイルをシームレスに作成し、XLSX スプレッドシートデータを管理できます—リアルタイムで大規模レポートを生成するのに最適です。

Fast_Excel は機能が豊富なソリューションで、開発者が Excel XLSX スプレッドシートドキュメントや CSV ファイルを簡単に作成できるようにします。速度だけでなく、セル、行、列の書式設定を適用したり、数式を追加したり、マルチシートブックを構築したりするための広範なコントロールを提供します。その効率的なアーキテクチャにより、純粋な Ruby の代替手段よりも操作が大幅に高速になり、サーバーリソースを適切に管理できます。ODS スプレッドシートの出力を作成する必要がある場合や、複雑な Excel 機能を扱う場合でも、Fast_Excel は生のパフォーマンスと直感的で Ruby フレンドリーな API を組み合わせて、すべてのスプレッドシートエクスポートニーズに対応します。

Previous Next

Fast_Excelの使い方

Fast_Excel ライブラリをインストールする推奨方法は RubyGems を使用することです。スムーズなインストールのために、以下のコマンドを使用してください。

RubyGems 経由で rubyX をインストール

$ gem install fast_excel  

Ruby APIでシンプルなスプレッドシートを書く

オープンソースのFast_Excelライブラリは、ソフトウェア開発者が自分のRubyアプリケーション内で新しいExcel XLSXファイルを非常に効率的に、かつ低メモリ負荷で作成できるようにします。主な利用ケースは、データの配列からシンプルなスプレッドシートを生成することです。新しいワークシートの追加、既存ワークシートの名前変更、テキストや画像の挿入などをサポートしています。以下は、Rubyアプリ内でシンプルなXLSXスプレッドシートを作成する方法を示す簡単な例です。

Ruby ライブラリでシンプルなスプレッドシートを作成する方法は?

require 'fast_excel'

# Create a new workbook
workbook = FastExcel.open("constant_memory.xlsx", constant_memory: true)

# Add a worksheet
worksheet = workbook.add_worksheet("User Report")

# Add data rows. The write_row method accepts an array of values.
worksheet.write_row(0, ["ID", "Name", "Email"]) # Header row (row index 0)

users = User.limit(10000)

users.each_with_index do |user, index|
  # Write each row, starting from row 1
  worksheet.write_row(index + 1, [user.id, user.name, user.email])
end

# Don't forget to close the workbook to save the file!
workbook.close

Rubyによる高度なセル書式設定

Fast_Excelライブラリは、スプレッドシートをプロフェッショナルかつ読みやすくするための豊富なフォーマットオプションを完全にサポートしています。フォントサイズ、フォントファミリー、色(RGB含む)、太字/斜体、下線のバリエーション、打ち消し線、テキスト折り返し、回転、インデント、罫線(細線、二重線など)、配置(水平、垂直)、数値形式などを定義できます。以下は、Rubyアプリ内でExcelワークシートのセル、行、列にさまざまなフォーマットを適用する方法を示す非常に有用な例です。

Ruby API を使って Excel ワークシートに高度な書式設定を適用する方法は?

require 'fast_excel'

workbook = Fast_Excel.open("formatted_report.xlsx")

# Create a bold format
bold = workbook.bold_format

# Create a custom number format
currency_format = workbook.number_format("$#,##0.00")

worksheet = workbook.add_worksheet("Sales Report")

# Set column widths and formats
worksheet.set_column(0, 0, 20)
worksheet.set_column(1, 1, 15, currency_format)

# Write a header row with bold formatting
worksheet.append_row(["Product", "Revenue"], bold)

# Write data rows
worksheet.append_row(["Product A", 15000])
worksheet.append_row(["Product B", 25000])

workbook.close

Ruby APIでの列と行の操作

Fast_Excelライブラリは、Rubyアプリ内でExcelスプレッドシートの行と列を操作することを可能にします。列や行のサイズに対して完全なコントロールを提供します。特定の幅や高さを設定でき、Fast_Excelは文字列値に対して自動幅もサポートしています。以下の例は、Rubyコマンドを使用してExcelスプレッドシートの行と列を操作する方法を示しています。

Ruby でスプレッドシートの行または列の幅と高さを設定する方法は?

require 'fast_excel'

workbook = Fast_Excel.open("column_width.xlsx")
worksheet = workbook.add_worksheet

# Set the width of the first column to 30
worksheet.set_column(0, 0, 30)

# Set the height of the first row to 40
worksheet.set_row(0, 40)
worksheet.append_row(["This is a long string that needs more space"])
workbook.close

より高速で高性能

オープンソースのFast_Excelライブラリは非常に高速で、特に大規模データセットにおいて純粋なRuby Gemを大幅に上回ります。Fast_Excelはlibxlsxwriter(Cライブラリ)を使用しているため、操作は純粋なRubyライブラリよりもはるかに高速です。ベンチマークでは、Axlsxなどの他製品を数倍上回ることが示されています。1,000行の書き込み – Fast_ExcelはAxlsxの約3〜4倍速く、大量データ(20,000行)でも依然として大幅に高速です。

 日本