gpt4 book ai didi

excel - 导出 Excel(xls 或 xlsx 或 CSV)工作表,并在列上应用验证/规则

转载 作者:行者123 更新时间:2023-12-02 18:18:08 25 4
gpt4 key购买 nike

我想导出一个 Excel 工作表模板,以便用户可以填写它并上传他们的数据。

在导出的工作表中,我想对列值进行一些验证规则。这样,用户只能根据应用的规则填写值,该值只能是数字或 4-5 个唯一值(例如颜色 - 仅限蓝色、绿色、黑色)。

到目前为止,我已经浏览了 Roo 和 Spreadsheet gem 的文档,以找到任何在列上定义规则的方法,但没有找到任何内容。目前,仅在用户上传时验证工作表,并在插入无效值时显示错误。

正在寻找类似这样的解决方案 - How to create dependent drop downs in excel sheet generated using POI?

欢迎任何帮助。

最佳答案

使用 Axlsx gem 解决了此要求.

Axlsx 提供了很棒的功能。对于验证 gem 有 Axlsx::DataValidation

允许添加数据类型验证::whole、:decimal、:date、:time、:textLength、:list、:custom。对于每一项也可以指定公式。

为了仅获取颜色列的几个颜色值,我添加了验证并导出工作表保存工作表并导出如下:

p = Axlsx::Package.new

p.workbook.add_worksheet(name: "dropdown") do |ws|
ws.add_row ["Color"]
ws.add_data_validation("A2:A1000", {
:type => :list,
:formula1 => 'Red orange Blue White',
:showDropDown => false,
:showErrorMessage => true,
:errorTitle => '',
:error => 'Please use the dropdown selector to choose a valid color',
:errorStyle => :stop,
:showInputMessage => true,
:promptTitle => 'Color',
:prompt => 'Please select a valid color'})
end

p.serialize 'data_validation.xlsx'

到目前为止,我只能指定有限的行范围以在工作表中应用验证。

如果有人可以添加如何指定整列进行验证,这个答案将是一个完美的解决方案。

谢谢。

关于excel - 导出 Excel(xls 或 xlsx 或 CSV)工作表,并在列上应用验证/规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28365618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com