Безкоштовний ультра‑швидкий Ruby Writer та Reader для Excel XLSX

Надшвидка відкрито‑джерельна бібліотека Ruby дозволяє розробникам створювати, читати та маніпулювати файлами Excel XLSX. Застосовувати форматування клітинок, рядків і стовпців, об’єднання та роз拆ення.

Що таке Fast_Excel?

Чи уповільнює ваша Ruby‑програма генерацію Excel‑файлів? Зустрічайте Fast_Excel, ультра‑швидкий записувач Excel, призначений для швидкого створення файлів без навантаження пам’яті. Цей потужний open‑source Ruby‑API для електронних таблиць працює як прив’язка Ruby FFI до оптимізованої бібліотеки libxlsxwriter на C, забезпечуючи швидкість C з чистим інтерфейсом Ruby. Як високопродуктивна безкоштовна Ruby‑бібліотека Excel, вона дозволяє безперешкодно створювати файли Excel XLSX та керувати даними електронних таблиць, зберігаючи мінімальний обсяг пам’яті — ідеально підходить для швидкого створення великих звітів.

Fast_Excel — це багатофункціональне рішення, яке дає змогу розробникам створювати електронні таблиці Excel XLSX та генерувати CSV‑файли без зайвих зусиль. Окрім швидкості, воно забезпечує широкий контроль над форматуванням клітинок, рядків і стовпців, додаванням формул і створенням багатосторінкових робочих книг. Ефективна архітектура забезпечує значно швидшу роботу порівняно зі звичайними Ruby‑рішеннями, зберігаючи ресурси сервера під контролем. Якщо вам потрібно створювати ODS‑таблиці або працювати з складними функціями Excel, Fast_Excel поєднує бездоганну продуктивність з інтуїтивно зрозумілим Ruby‑дружнім API для всіх ваших потреб у експорті електронних таблиць.

Previous Next

Початок роботи з Fast_Excel

Рекомендований спосіб встановлення Fast_Excel — використання RubyGems. Будь ласка, скористайтеся наведеним нижче командою для плавної інсталяції.

Встановити rubyX через RubyGems

$ gem install fast_excel  

Створення простої електронної таблиці за допомогою API Ruby

Бібліотека Fast_Excel з відкритим кодом спрощує створення нових файлів Excel XLSX у Ruby‑програмах, забезпечуючи високу ефективність та низьке споживання пам’яті. Основний сценарій використання — генерація простих електронних таблиць з масиву даних. Підтримується додавання нових листів, перейменування існуючих, вставка тексту й зображень тощо. Ось простий приклад, який демонструє, як у 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), стилі, такі як жирний/курсив, різні типи підкреслення, закреслення, перенос тексту, обертання, відступи, границі (тонка, подвійна тощо), вирівнювання (горизонтальне, вертикальне), формати чисел тощо. Ось дуже корисний приклад, який показує, як розробники можуть застосовувати різні типи форматування до клітинок, рядків і колонок листів Excel у Ruby‑додатках.

Як застосувати розширене форматування до листів Excel за допомогою Ruby API?

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

Маніпулювання колонками та рядками за допомогою API Ruby

Fast_Excel дозволяє розробникам працювати з рядками та колонками електронних таблиць Excel у Ruby‑додатках. Бібліотека надає повний контроль над розмірами колонок і рядків. Ви можете встановлювати конкретні ширини і висоти, а Fast_Excel навіть підтримує автоматичну ширину для рядкових значень. Наведений приклад демонструє, як працювати з рядками та колонками електронної таблиці Excel за допомогою команд Ruby.

Як встановити ширину та висоту рядка або стовпця електронної таблиці за допомогою 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, особливо при роботі з великими наборами даних. Оскільки FastExcel використовує libxlsxwriter (бібліотеку C), операції виконуються набагато швидше, ніж у чистих Ruby‑бібліотек. Тести показали, що FastExcel значно швидший за такі рішення, як Axlsx. Запис 1 000 рядків — Fast_Excel приблизно в 3–4 рази швидший за Axlsx; навіть на великих даних (20 000 рядків) швидкість залишаєється суттєво вищою.

 Українська