特別是我想要做的是添加新的工作表旁邊已經有。我試過使用book.create_worksheet :name => 'new_sheet'
,但它覆蓋了以前的工作表。如何使用Spreadsheet gem在Ruby中創建新的電子表格工作表?
我在這裏搜索了網站,看到一些人使用了不同的gem,允許使用「book.add_worksheet」(電子表格寶石應該支持其他寶石,就像它應該像1寶石一樣。 ..),並且幾乎可以工作,但在執行sheet = book.add_worksheet("new_sheet")
行時出現錯誤undefined method 'workbook=' for "new_sheet":String (NoMethodError)
。
我想另一件事是sheet = Spreadsheet::Worksheet.new
和我the Spreadsheet rubyforge page看到有公共類方法new(opts={})
如果你點擊查看該代碼,包括使我相信我應該能夠使用此行@name = opts[:name] || Worksheet
創建並命名新的工作表,但我無法弄清楚正確的語法。
是我想嘗試的嗎?看起來好像我越來越近了,但我還沒有完全擊中它。
事實上,這將適用於硬編碼表。我想我應該提到我正在使用我正在編寫的工具即時創建它們。該工具要求爲表格命名並創建它。我想出了我以前的錯誤(我不小心重寫了整個工作簿),現在我遇到了幾個不同的結果:如果我寫入相同的文件名,它會變壞,如果我寫入不同的文件名並嘗試重新命名它,我遇到訪問錯誤。我似乎無法找到一個「close」方法來匹配我希望擺脫訪問錯誤的「Spreadsheet.open」。思考? – antonymity 2010-09-21 10:01:07