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

用于处理 Excel 电子表格的开源 Ruby 库  

Ruby API 用于与 Microsoft Excel 兼容的电子表格。它允许创建新的电子表格、修改现有文档、分组或取消分组 Excel 电子表格单元格等。

Ruby 电子表格库帮助软件开发人员在他们自己的 Ruby 应用程序中使用与 Microsoft Excel 兼容的电子表格。该库非常稳定,可在 GPL-3.0 许可下向公众开放。该库非常用户友好且非常安全。它包括对各种编码功能的支持。默认情况下,UTF-8 用于电子表格编码。

该库支持与 Excel 电子表格创建和操作相关的几个重要功能,例如从头开始创建新电子表格、读取现有 Excel 文件、修改现有电子表格、使用页面设置、添加新行和列、隐藏现有行或列、分组行和列、打印设置支持、电子表格编码支持、向后兼容性等等。此外,该库在读取大型 Excel 文件时显着提高了内存效率。

Previous Next

电子表格入门

将电子表格安装到项目中的推荐方法是使用 RubyGems。请使用以下命令进行顺利安装。

通过 npm 安装 xlsx-populate

udo gem install spreadsheet 

使用 Ruby 生成新的 Excel 电子表格

开源库 Ruby Spreadsheet 为使用 Ruby 代码生成与 Microsoft Excel 兼容的电子表格提供了完整的支持。只需几行 Ruby 代码,您就可以轻松地创建一个新工作簿并向其添加工作表。创建后,您可以向其中插入内容并对其应用格式。您还可以插入新行或新列、插入文本或图像等。

通过Ruby图书馆创建新Excel表

book = Spreadsheet::Workbook.new
sheet = book.create_worksheet(name: 'First sheet') # We are creating new sheet in the Spreadsheet(We can create multiple sheets in one Spreadsheet book)
# Let's create first row as the following.
sheet.row(0).push('Test Name', 'Test country', 'Test city', 'Test profession') # Number of arguments will be number of columns
# We can create many rows same as the mentioned above.
sheet.row(1).push('Bobby', 'US', 'New York', 'Doctor')
sheet.row(2).push('John', 'England', 'Manchester', 'Engineer')
sheet.row(3).push('Rahul', 'India', 'Mumbai', 'Teacher')
# Write this sheet's contain to the test.xls file.
book.write 'test.xls'
 

通过 Ruby 读取和编辑现有电子表格

Ruby 电子表格库使软件程序员能够访问和打开他们自己的应用程序中的现有电子表格。该库仅提供对 BIFF8(Excel97 和更高版本)的写入支持。您还可以只用几行代码修改现有的电子表格文档。图书馆提供了有限的支持。您可以轻松地添加、修改或删除 Excel 单元格,并通过预定义的公式填写要评估的数据。

通过Ruby图书馆阅读现有的电子表格

require 'spreadsheet'    
book = Spreadsheet.open('myexcel.xls')
sheet1 = book.worksheet('Sheet1') # can use an index or worksheet name
sheet1.each do |row|
  break if row[0].nil? # if first cell empty
  puts row.join(',') # looks like it calls "to_s" on each cell's Value
end
 

分组或隐藏行和列

开源 Ruby 电子表格库允许计算机程序员使用 Ruby 命令对 Excel 电子表格单元格进行分组或取消分组。该库还支持创建带有大纲的新电子表格文件。您还可以轻松隐藏或取消隐藏您选择的行或列。在阅读电子表格文件时,您可以轻松更改隐藏和轮廓属性。请记住,outline_level 必须低于 8,这是由于 Excel 数据格式的原因。

通过鲁比API把罗斯藏起来

    require ‘spreadsheet’
    file = ARGV[0]
    book = Spreadsheet.open(file, ‘rb’)
    sheet= book.worksheet(0)
    26.upto(30) do |i|
    sheet.row(i).hidden = true
    end
    book.write “out.xls”
 
 中国人