我需要在 Ruby 中创建一个 Excel 文档。我的要求是:多张工作表、一些基本格式、在文档内的单元格之间创建超链接的能力以及创建下拉菜单的能力。我发现了两个 gem :axlsx 和 writeexcel,它们似乎提供了我想要的几乎所有东西。一件遗漏的事情是创建的下拉列表的默认值。我运行了两个 gems 的数据验证示例,在这两种情况下,包含下拉列表的单元格都是空的,直到有人选择一个值。
我需要的是显示在单元格中的默认值。因此,如果 %w[ maybe, yes, no ]
是允许的值,那么我希望在单元格中显示“maybe”。
我阅读了这两个 gem 文档中似乎相关的部分,但我没有找到任何明显的方式来说明我希望在下拉列表中默认选择一些值。
我对 axlsx 和 writeexcel 都没有情感依恋,如果你能提出任何其他方法来满足我的需求,我会成为一个快乐的露营者。
最佳答案
好的,所以我已经使用 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
关于Ruby:使用默认值在 Excel 中创建下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38545006/