2012-03-27 18 views
3

我需要創建一個具有字段狀態的Excel表。這是一個下拉值爲'高','中'和'低'的值。當他們選擇不同的值時,我需要顯示不同的顏色。我已經使用writeexcel寶石實現了下拉菜單。這是我的代碼:對於創建的Excel文件,在下拉菜單中爲不同的值使用不同的顏色

worksheet.data_validation(count, 5, 
      { 
      :validate  => 'list', 
      :source   => ['High', 'Medium', 'Low'], 
      }) 

下拉工作正常。但是我想爲每個選擇指定一種顏色。我可以根據下拉列表選擇顏色,但我需要的顏色是不同的下拉列表。有這種實現的任何其他寶石也很好。

回答

3

write_xlsx寶石是writeexcel的更新版本,支持新的Excel 2007+ XLSX格式。它由同一作者並具有相同的界面,但具有附加功能。

其中一個新功能是Conditional Formating

你可以用它來條件格式適用於相同小區這樣的下拉驗證:

worksheet.conditional_formatting(count, 5, 
    { 
     :type  => 'cell', 
     :format => format1, 
     :criteria => '=', 
     :value => '"High"' 
    } 
) 

worksheet.conditional_formatting(count, 5, 
    { 
     :type  => 'cell', 
     :format => format2, 
     :criteria => '=', 
     :value => '"Medium"' 
    } 
) 
... 

您需要定義使用標準接口格式。

注意,write_xlsx是Perl模塊Excel::Writer::XLSX的端口。該模塊包含additional documentation on the use of conditional formats。你應該能夠很容易地將這些例子轉換成Ruby。

也看到我的回答你剛纔的問題。

+0

Thanks..just我需要什麼,我切換到'write_xlsx' – rubyprince 2012-03-28 05:27:15

+0

oh..I才意識到你是Perl庫的作者此寶石是基於!哇..所以很高興得到作者的答案!非常感謝 :) – rubyprince 2012-03-28 05:29:50

相關問題