1. 产品
  2.   电子表格
  3.   Ruby
  4.   Fast_Excel
 
  

免费超快速 Ruby 编写器和读取器,用于 Excel XLSX

一个 blazing-fast 的开源 Ruby 库,允许软件开发者创建、读取和操作 Excel XLSX 文件。支持 Excel 单元格、行和列的格式化、合并和拆分。

Fast_Excel 是什么?

您的 Ruby 应用程序是否因低效的 Excel 生成而变慢?了解 Fast_Excel——这是一款超高速的 Excel 编写器,旨在快速创建 Excel 文件而不会产生内存溢出。这个强大的开源 Ruby 电子表格 API 充当 optimized 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,尤其是在处理大型数据集时。由于 FastExcel 使用 libxlsxwriter(C 库),其操作速度比纯 Ruby 库快得多。基准测试显示它的性能比 Axlsx 等其他库高出数倍。写入 1,000 行时——Fast_Excel 大约比 Axlsx 快 3–4 倍;对于大数据(20,000 行),仍然显著更快。

 中国人