【问题标题】:Ruby: Creating a drop down in Excel with a default valueRuby:在 Excel 中使用默认值创建下拉列表
【发布时间】:2016-07-23 18:09:57
【问题描述】:

我需要在 Ruby 中创建一个 Excel 文档。我的要求是:多张工作表、一些基本格式、在文档中的单元格之间创建超链接以及创建下拉菜单的能力。我发现了两个宝石:axlsx 和 writeexcel,它们似乎提供了我想要的几乎所有东西。缺少的一件事是创建的下拉菜单的默认值。我为两个 gem 运行了数据验证示例,在这两种情况下,包含下拉列表的单元格都是空的,直到人类选择一个值。

我需要的是在单元格中显示的默认值。所以,如果%w[ maybe, yes, no ] 是允许的值,那么我希望在单元格中显示“可能”。

我阅读了这两个 gem 文档的相关部分,但我没有找到任何明显的方式来说明,我希望在下拉列表中默认选择一些值。

我对 axlsx 和 writeexcel 都没有感情上的依恋,如果你能提出任何其他方法来满足我的需求,我会是一个快乐的露营者。

【问题讨论】:

  • 还有一个 Roo gem,看看它提供了一些数据验证。
  • 来自rubydoc.info/gems/roo/2.3.2 "Roo 实现了所有常见电子表格类型的读取访问权限。"看起来 Roo 允许阅读电子表格。我需要写一个。

标签: ruby excel


【解决方案1】:

好的,所以我用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    相关资源
    最近更新 更多