带有多个选项卡的Excel文件

时间:2009-05-14 19:21:46

标签: ruby excel tabs

我需要创建一个包含多个标签的excel文件。我需要在Ruby on Rails中执行此操作。我已经检查了Apache POI,但我不确定它是否提供了该功能。有谁知道它是否确实或者是否有其他替代品可以做到这一点? 感谢。

4 个答案:

答案 0 :(得分:3)

如果我理解正确 - 通过多个标签表示工作簿中有多个“工作表”。 Apache POI确实提供此功能(请查看下面的链接)。请注意,我不是一个Ruby人(至少还没有),这些链接是用于Java的用法,但我很确定像YAJB这样的桥梁可以帮助你完成它:

Creating a New WorkBook
Creating a New WorkSheet

答案 1 :(得分:2)

我想通了,如果您使用的是Apache POI,可以在Workbook实例上调用createSheet()。

答案 2 :(得分:0)

我使用ruby gem“spreadsheet-excel”来实现这种功能

#!/usr/bin/env ruby
RAILS_ENV = 'production'

require File.dirname(__FILE__) + '/../config/environment'
require "spreadsheet/excel" 

file = "name_of_your_excel_file.xls" 
workbook = Spreadsheet::Excel.new("#{RAILS_ROOT}/#{file}")

# First Sheet
worksheet = workbook.add_worksheet("Sheet No. 1")
worksheet.write(0, 0, "Timestamp")
worksheet.write(0, 1, "Type")
worksheet.write(0, 2, "Text")
# ...and whatever you want to do here
# Second Sheet
worksheet_2 = workbook.add_worksheet("Sheet No. 2")
#... and so on

这在Ruby和Ruby-on-Rails中都很有效。

要安装电子表格/ Excel,只需输入

即可
ruby gem install "spreadsheet-excel"

希望这可以帮到你

答案 3 :(得分:0)

使用电子表格gem的多标签Excel工作表

要在一个excel工作表中创建多个工作表,使用电子表格gem很好。在您的控制器(假设卡是您的控制器)中,添加以下内容:

def导出

book = Spreadsheet::Workbook.new
sheet1 = book.create_worksheet :name => 'Sheet1'
sheet2 = book.create_worksheet :name => 'Sheet2'

 sheet1.row(0).push "some content in Column1" //to push content in 1st row 1st column of 1st spreadsheet

 //keep pushing on row(0) if you want to push contents other columns of 1st row

  spreadsheet = StringIO.new
  book.write spreadsheet
  file = "Excelsheet"
  send_data spreadsheet.string, :filename => "#{file}", :type =>  "application/vnd.ms-excel"

结束

在您看来 <%= link_to(“将数据库导出到Excel”,cards_url +“ / export”)%> 强文本