ruby - Axlsx Ruby Gem - 创建带有自定义值的下拉列表

标签 ruby axlsx

我正在使用 axlsx gem 将数据从 Ruby/Rails 导出到 excel。

我需要添加一个带有自定义值的下拉列表 - value1、value2、value3 等。以下是我尝试过的代码

excel = Axlsx::Package.new
wb = excel.workbook

wb.add_worksheet(name: "sample_sheet") do |sheet|
  sheet.add_data_validation("A1:A100", {
      :type => :list,
      :formula1 => "value1 value2 value3",
      :showDropDown => false,
      :showErrorMessage => true,
      :errorTitle => '',
      :error => 'Please use the dropdown selector to choose the value',
      :errorStyle => :stop,
      :showInputMessage => true,
      :prompt => 'Choose the value from the dropdown'
  })
end

excel.serialize('sample_excel.xlsx')

代码创建了 excel,但是当我打开它时,出现了这个 excel 错误 excel error 这些值不会添加到下拉列表中。

或者,

:formula1 => "B1:B2"

工作正常,它将 B1 和 B2 的内容添加到下拉列表中。在我的用例中,我需要添加自定义值,它们不会存储在 Excel 工作表中。

在数据验证下拉列表中添加自定义值的正确方法是什么?请帮忙。

最佳答案

您需要将公式 1 更改为以下内容:

'"My, List, Of, Values"'

注意单引号内的双引号。

这里有一个如何做到这一点的例子: https://github.com/randym/axlsx/blob/master/examples/data_validation.rb#L54

关于ruby - Axlsx Ruby Gem - 创建带有自定义值的下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42421583/

相关文章:

ruby - 在 macOS Mojave 上安装 eventmachine 时如何修复 "ERROR: Failed to build gem native extension."

ruby - axlsx 将电子表格序列化为字符串

ruby-on-rails - 响应多个 JSON 渲染。 ( ruby /rails )

ruby-on-rails - AXLSX:为 rspec 测试解析 xlsx 文件

ruby-on-rails - Rails axlsx gem - 公式不转义

arrays - 使用数组将多个参数传递给可变参数ruby方法

ruby-on-rails - 如何设置工作簿的列宽

ruby-on-rails - 测试 Rails 4 Controller

ruby-on-rails - rails : Overriding ActiveRecord association method

ruby - 在测试中创建和删除文件夹