使用axlsx_rails

时间:2018-06-21 07:10:33

标签: ruby-on-rails ruby excel axlsx

我在Rails项目中使用axlsx_rails来生成带有验证和下拉列表的excel文件。生成文件后,我尝试在MS Excel中打开该文件,并说需要修复该文件,并且清除了所有验证和下拉菜单。

版本

axlsx_rails - 0.1.5
axlsx - 1.3.6
rubyzip - 1.2.0
rails - 4.1.2
ruby - 2.2.2

代码

@excel = Axlsx::Package.new
@excel.workbook.add_worksheet(name: "Samples") do |ws|
    ws.add_row @field_names
    sheet.add_data_validation("G2:G1000", {
       :type => :list,
       :formula1 => '"Jim", "Tom", "Jack"',
       :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 "tmp/SampleTemplate.xlsx"

使用发送文件

send_file "tmp/SampleTemplate.xlsx"

生成的文件可在LibreOffice中工作,但不能在MSExcel中工作

请帮助

1 个答案:

答案 0 :(得分:0)

已解决。问题出在那儿,

:formula_1 => '"Jim", "Tom","Jack"'

我将其更改为

:formula_1 => '"Jim, Tom, Jack"'