gpt4 book ai didi

ruby - 如何关闭 ruby​​ gem "Spreadsheet?"中的文件

转载 作者:数据小太阳 更新时间:2023-10-29 07:13:05 26 4
gpt4 key购买 nike

下面的代码在我第一次运行它时就可以正常工作:

require 'rubygems'
require 'spreadsheet'
book = Spreadsheet.open '/Users/me/myruby/Mywks.xls'
sheet = book.worksheet 0
row = sheet.row(1)
puts row[1]
book.write '/Users/me/myruby/Mywks.xls'

当我再次运行它时,我会收到更多消息,例如:

/Library/Ruby/Gems/1.8/gems/spreadsheet-0.6.5.9/lib/spreadsheet/excel/reader.rb:1149:in `setup': undefined method `read' for false:FalseClass (NoMethodError)
from /Library/Ruby/Gems/1.8/gems/spreadsheet-0.6.5.9/lib/spreadsheet/excel/reader.rb:121:in `read'

这对我来说表明存在问题:1. excel 电子表格的关闭或 2. 写回我打开的同一个电子表格。

  1. ruby gem 电子表格文档中没有关于关闭电子表格的内容。如果有的话,示例以上面的“book.write”语句结束。我在这里和其他地方的搜索都没有找到关闭电子表格中的 xls 文件的结果。
  2. 电子表格文档建议您可以写回同一个文件,但也建议您不应该这样做。是这里的问题吗?如果是这样,我是否要写一个临时 wks 然后重命名它?

最佳答案

尝试使用 block 语法,它似乎对我有用:

Spreadsheet.open '/Users/me/myruby/Mywks.xls' do |book|
sheet = book.worksheet 0
# book should be closed when the block exits
end

关于ruby - 如何关闭 ruby​​ gem "Spreadsheet?"中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7395376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com