1

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

4

4 回答 4

3

如果我理解正确 - 多个选项卡是指工作簿中的多个“工作表”。Apache POI 确实提供了这个功能(查看下面的链接)。请注意,我不是 Ruby 人(至少还不是),这些链接用于 Java 中的用法,但我很确定 YAJB 之类的桥梁将帮助您完成它:

创建新工作簿
创建新工作表

于 2009-05-14T19:33:07.287 回答
2

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

于 2009-05-14T19:34:03.913 回答
0

我使用 ruby​​ gem“电子表格-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"

希望这可以帮到你

于 2009-11-11T13:39:32.420 回答
0

使用电子表格 gem 的多个选项卡 Excel 表

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

默认导出

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("Export Database to Excel", cards_url + "/export") %>强文本

于 2020-03-13T09:28:55.553 回答