Вызов формулы Excel из серверного веб-приложения Ruby - PullRequest
3 голосов
/ 07 июня 2011

У моего клиента есть кодированная функция, которая принимает 20 логических значений и выдает целочисленный результат.

Они сделали это с помощью Excel в виде сложной формулы.

В новом RORвеб-приложение, мне лучше переписать все это в Ruby или как-то вызвать формулу Excel?

Я мог бы попытаться связаться с серверным экземпляром Excel или OpenOffice без головы и связаться с ним, используя JACOB или OpenOffice API ?

Ответы [ 2 ]

2 голосов
/ 22 августа 2011

Вы можете использовать гем электронной таблицы для чтения из файла Excel.Попробуйте следующий код, используя образец файла в том же каталоге с именем ss.xls, который имеет 1 в A1, 2 в B1 и = A1 + B1 в C1.

#gem install spreadsheet

require 'spreadsheet'    
book = Spreadsheet.open('ss.xls')
sheet = book.worksheet('Sheet1')
puts sheet.row(0)[2].value

Вызов value возвращаетпоследнее значение для ячейки, которое было вычислено в Excel, в приведенном выше примере будет выведено 3.0

Редактировать: Подробнее о драгоценном камне здесь: http://spreadsheet.rubyforge.org/GUIDE_txt.html

Редактировать 2: Изконечно, если вы оказались в Windows, вам не понадобится драгоценный камень;вы просто можете использовать библиотеку win32ole, как описано здесь: http://www.ruby -doc.org / docs / ProgrammingRuby / html / win32.html

1 голос
/ 22 августа 2011

Ответов нет, поэтому сейчас я предполагаю, что повторно реализовать формулу в Ruby менее сложно, чем вызывать Excel / OpenOffice.

Не стесняйтесь дать лучший ответ!

...