2013-08-29 39 views
1

我正在使用電子表格寶石用於RoR應用程序。Ruby電子表格Gem:從Excel文件中的公式單元格中提取值

我是從在Excel工作表單元格使用下面的代碼線提取數據:

current_qsubnum = @mainsheet.cell(y_qsubnum, x_current) 

我然後執行基於該數據的一些處理。

但是,我意識到有時我的用戶會在該單元格中放置一個公式,我無法處理該公式。我需要從單元中獲取價值,而不是公式。

但是,每當我應用value方法時,它仍然是讓我的公式。我已經試過這樣:

current_qsubnum = @mainsheet.cell(y_qsubnum, x_current).value 

這:

current_qsubnum = @mainsheet[y_qsubnum, x_current].value 

謝謝你的任何建議。

+0

爲什麼你不使用win32ole鏈接? –

+0

該應用程序旨在作爲網絡服務在線提供。我對win32ole的理解是用戶必須在他們的機器上本地運行它。或者我的理解不正確? – bigwinner

回答

1

while循環進入Excel工作表,您可以檢查單元類。

worksheet.each do |row| row_value = row[n].value if row[n].is_a?(Spreadsheet::Formula)#get value from formula cell end

相關問題