- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
将 Ruby 与 gem axlsx 结合使用 我一直在尝试弄清楚如何为整个列设置样式,但我还没有找到它。我能够做到这一点的唯一方法是循环,将行中的每个单元格设置为我想要的样式,例如:
unlocked = wb.styles.add_style :locked => false
#...looping code here, assuming add_worksheet has been assigned to sheet
sheet.rows[rowNum].cells[columnNum].style = unlocked
我发现了如何为整个列设置隐藏属性:
sheet.column_info[3].hidden = true
根据文档,我认为这条线可以工作:
sheet.column_info[0].style = unlocked
最奇怪的是,这个样式集行并没有应用失败,而且确实在看起来显示样式设置为从 add_style 返回的相应数字之后查询它。但是,在检查生成的电子表格时,它并没有将整个列显示为已解锁。
我知道这可以使用 write_xlsx gem 在整个专栏上很容易地完成,所以我想知道是否可以使用 axlsx 来完成,但我只是找不到要使用的正确语法的示例?
最佳答案
为此,您可以使用 Worksheet#col_style
签名是 col_style(index,style,options={})
索引
要为其设置样式的行的索引(索引从 0 开始)。索引也可以是一个范围,因此如果您想解锁列 A 到 C,则 sheet.col_style((0..2),unlocked)
仍将根据代码的运行方式正常工作。
风格
必须是预定义的样式,因为它在 gem 的其余部分中都是如此
选项 ={}
options
允许您设置行偏移量,因此如果您不想解锁前 n 行,您可以传递 row_offset: n
和n
行之后的列将被解锁。示例:
#unlock cells in column A starting at A3
sheet.col_style(0,unlocked,row_offset: 2)
完整示例
require 'axlsx'
p = Axlsx::Package.new
wb = p.workbook
unlocked = wb.styles.add_style(locked: false)
wb.add_worksheet do |sheet|
5.times { sheet.add_row [1,2,3,4,5,6]}
sheet.col_style(3,unlocked)
end
p.serialize('/simple_test.xlsx')
这将创建一个包含 6 列的电子表格,其中 4 列(索引从 0 开始)将被解锁,而其余列保持锁定(默认)。
附加信息
此方法的返回值将是受影响单元格的平面 Array
。
注意:代码的作用与您在循环中所做的几乎完全相同。它收集所有单元格,然后将样式应用于循环中的每个单元格。
关于Ruby Axlsx Gem 整列解锁样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30398594/
我正在使用 DMatrix 结构来分配动态大小的矩阵,我在其中使用 L2 范数通过归一化列向量重复覆盖每一列。 // a is some DMatrix of arbitrary size let c
我表中的当前数据是: a b --------- -1 5 -11 2 -5 32 我的要求是将a列的所有数据都转换成负值。 但是如何选择整列将正值更新为负值呢? 最佳答案
我是一名优秀的程序员,十分优秀!