El siguiente código funciona como debe la primera vez que ejecutarlo:¿Cómo cerrar archivos en la gema de rubí "Hoja de cálculo"?
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'
Cuando corro de nuevo consigo más mensajes como:
/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'
Esto me sugiere que hay un problema con ya sea: 1. El cierre de la hoja de cálculo de Excel o 2. Escribo nuevamente en la misma hoja de cálculo que abrí.
- no hay nada en la documentación de hoja de cálculo gema de rubíes sobre las hojas de cálculo de cierre. Los ejemplos terminan en la declaración "book.write" como arriba, si hay algo. Mi búsqueda aquí y en otras partes no arrojó nada al cerrar el archivo xls en la hoja de cálculo.
- La documentación de la hoja de cálculo sugiere que PUEDE escribir de nuevo en el mismo archivo pero sugiere que quizás no deba hacerlo. ¿Ese es el problema aquí? Si es así, ¿escribo en una semana temporal y luego le cambio el nombre?
¿Qué línea desencadena la excepción? –
@AndrewGrimm Aparentemente es la línea 3, comenzando "book = spreadsheet.open". – Roy
Intenté agregar el código a continuación, pero tampoco funcionó. Exactamente los mismos resultados que arriba. afile = File.open ("/ Users/royclymer/myruby/Weekly Total.xls") afile.close No puedo encontrar la forma de formatear el código anterior en este comentario. – Roy