2016-07-23 15 views
2

RubyでExcelドキュメントを作成する必要があります。私の要件は:複数のシート、いくつかの基本的な書式、ドキュメント内のセル間のハイパーリンクを作成し、ドロップダウンを作成する機能です。 axlsxとwriteexcelという2つの宝石が見つかりました。 1つのmisingものは、作成されたドロップダウンのデフォルト値です。私は、両方の宝石のデータ検証の例を実行し、どちらの場合でも、人間が値を選択するまで、ドロップダウンを含むセルは空です。Ruby:デフォルト値のExcelでのドロップダウンの作成

私が必要とするのは、セルに表示されるデフォルト値です。したがって、%w[ maybe, yes, no ]が許可された値である場合、セルに「多分」と表示されます。

両方の宝石のドキュメントの関連部分と思われるものを読みましたが、ドロップダウンでデフォルトでいくつかの値を選択したいという明確な方法は見つかりませんでした。

私は感情的にaxlsxとwriteexcelのどちらにも接続していません。あなたが望むものを私に与える他の方法を示せば、私は幸せなキャンピングカーになります。

+0

また、Rooの宝石は、いくつかのデータ検証を提供することを確認してください。 –

+0

http://www.rubydoc.info/gems/roo/2.3.2 "Rooはすべての一般的なスプレッドシートタイプの読み込みアクセスを実装しています。 Rooはスプレッドシートを読むことができます。私は1つ書く必要があります。 –

答えて

1

OK、私はwriteexcel gemで私の質問に対する解決策を見つけました。私はそれが愚かなのか、それとも明白なのか分かりませんが、それは私のために十分に機能します。私がしたことは、セルにデフォルト値を書き込んだ後、同じセルにドロップダウンを追加することです。以下はdata_validate.rbに基づくコード例ファイル:

#!/usr/bin/ruby -w 
# -*- coding: utf-8 -*- 

require 'writeexcel' 

workbook = WriteExcel.new('default_dropdown.xls') 
worksheet = workbook.add_worksheet 
worksheet.set_column('A:A', 32) 
txt = 'Select a value from a drop down list' 
worksheet.write(1, 1, 'open') 
worksheet.write(1, 0, txt) 
worksheet.data_validation(1, 1, 
    { 
     :validate  => 'list', 
     :source   => ['open', 'high', 'close'] 
    }) 

workbook.close 
関連する問題