簡體   English   中英

帶有多個選項卡的 Excel 文件

[英]Excel file with multiple tabs

我需要創建一個帶有多個選項卡的 excel 文件。 我需要在 Ruby on Rails 中做到這一點。 我已經檢查了 Apache POI,但我不確定它是否提供該功能。 有誰知道它是否可以,或者是否有其他替代方法可以做到這一點? 謝謝。

如果我理解正確的話 - 多個標簽是指工作簿中的多個“工作表”。 Apache POI 確實提供了此功能(請查看下面的鏈接)。 請注意,我不是 Ruby 人(至少還不是),這些鏈接適用於 Java 中的用法,但我很確定像 YAJB 這樣的橋梁會幫助你完成它:

創建新工作簿
創建新工作表

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

我使用 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"

希望這可以幫到你

使用電子表格 gem 的多標簽 Excel 工作表

要在單個 Excel 工作表中創建多個工作表,最好使用電子表格 gem。 在您的控制器(假設 card 是您的控制器)中添加以下內容:

導出

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") %>強文本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM