Poniższy kod działa tak jak powinien po raz pierwszy go uruchomić:Jak zamknąć pliki w rubinowym klejnocie "Arkusz kalkulacyjny?"
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'
Kiedy uruchamiam go ponownie uzyskać więcej wiadomości jak:
/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'
to sugerować dla mnie nie ma problemu z albo: 1. Zamknięcie arkusza kalkulacyjnego Excel lub 2. Ponowne zapisanie tego samego arkusza kalkulacyjnego, który otworzyłem.
- W skoroszycie z rubinowym klejnotem nie ma nic na temat zamykania arkuszy kalkulacyjnych. Przykłady kończą się instrukcją "book.write" jak powyżej, jeśli cokolwiek. Moje wyszukiwanie tutaj i gdzie indziej nie przyniosło niczego, co ponownie zamknęłoby plik xls w arkuszu kalkulacyjnym.
- Dokumentacja arkusza kalkulacyjnego sugeruje, że możesz odpisać do tego samego pliku, ale sugeruje, że nie powinieneś. Czy to jest problem? Jeśli tak, to mogę napisać do tymczasowego serwisu, a następnie zmienić jego nazwę?
Która linia wyzwala wyjątek? –
@AndrewGrimm Widocznie jest to linia 3, zaczynająca się od "book = spreadsheet.open". – Roy
Próbowałem dodać poniższy kod, ale to też nie zadziałało. Dokładnie takie same wyniki jak powyżej. afile = File.open ("/ Users/royclymer/myruby/Weekly Total.xls") plik afile.close Nie mogę się dowiedzieć, jak sformatować powyższy kod w tym komentarzu. – Roy