在创建Excel文件时,为下拉列表中的不同值使用不同的颜色

3

我需要创建一个拥有状态字段的Excel表格。这是一个下拉选项,包括“高”、“中”和“低”三种值。当他们选择不同的值时,我需要展示不同的颜色。我已经使用writeexcel宝石实现了下拉选项。以下是我的代码:

worksheet.data_validation(count, 5,
          {
            :validate        => 'list',
            :source          => ['High', 'Medium', 'Low'],
          })

下拉框正常工作。但我想为每个选择指定一种颜色。我可以根据下拉框的选择来着色单元格,但我需要的是不同选择的不同颜色。任何其他实现这种功能的宝石都可以。
1个回答

3

write_xlsx宝石是writeexcel的更新版本,支持更新的Excel 2007+ XLSX格式。它由同一作者编写,并具有相同的界面,但具有其他功能。

其中一个新功能是条件格式设置

您可以使用它将条件格式应用于与下拉验证相同的单元格,如下所示:

worksheet.conditional_formatting(count, 5,
    {
        :type     => 'cell',
        :format   => format1,
        :criteria => '=',
        :value    => '"High"'
    }
)

worksheet.conditional_formatting(count, 5,
    {
        :type     => 'cell',
        :format   => format2,
        :criteria => '=',
        :value    => '"Medium"'
    }
)
...

您需要使用标准接口定义格式。

请注意,write_xlsx 是 Perl 模块 Excel::Writer::XLSX 的移植版本。该模块包含有关条件格式使用的 其他文档。您应该能够很容易地将示例转换为 Ruby。

另请参阅我对您之前问题的回答。


谢谢,正是我所需的,我已经切换到write_xlsx - rubyprince
哦...我刚刚意识到你是这个宝石所基于的 Perl 库的作者!!! 哇...从作者那里得到了答案,真不错!!! 非常感谢 :) - rubyprince

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接