我正在使用带有rails的Axlsx创建Excel工作表。我需要将头部固定并冻结。即使我们向下滚动,标题也应始终可见。 rails版本3.2.1 gem'axlsx'无法使用带有Rails的axlsx来冻结标题窗格
任何帮助表示赞赏?
我正在使用带有rails的Axlsx创建Excel工作表。我需要将头部固定并冻结。即使我们向下滚动,标题也应始终可见。 rails版本3.2.1 gem'axlsx'无法使用带有Rails的axlsx来冻结标题窗格
任何帮助表示赞赏?
尝试axlsx例子页面在这里:
https://github.com/randym/axlsx/blob/master/examples/example.rb#L575-L581
# Repeat printing of header rows.
#```ruby
if examples.include? :repeated_header
wb.add_worksheet(:name => "repeated header") do |sheet|
sheet.add_row %w(These Column Header Will Render On Every Printed Sheet)
200.times { sheet.add_row %w(1 2 3 4 5 6 7 8) }
wb.add_defined_name("'repeated header'!$1:$1", :local_sheet_id => sheet.index, :name => '_xlnm.Print_Titles')
end
end
可以冻结窗格类似这样的例子:
require 'axlsx'
XLSX_temp = 'simple.xlsx'
Axlsx::Package.new do |p|
p.workbook.add_worksheet(:name => 'DATA') do |sheet|
sheet.add_row(%w{key col1 col2 col3 col4 col5})
#Fix first line and column
sheet.sheet_view.pane do |pane|
pane.top_left_cell = "B2"
pane.state = :frozen_split
pane.y_split = 1
pane.x_split = 1
pane.active_pane = :bottom_right
end
10.times{
sheet.add_row(%w{1 2 3 4 5 6})
}
end
puts "Write %s" % XLSX_temp
p.serialize(XLSX_temp)
end
结果有一个固定的第一列和行:
与pane.x_split = 0
只有第一行是固定的。
我们可以冻结其起始行不是第一行的一些行吗? 你的代码会冻结第一行,但我想要的东西,冻结4行开始行3,即行3,4,5和6. –
这是可能的Excel内?我无法亲自检查它,但我认为excel只允许从顶部修复行。 – knut
是的,它允许在Excel中。谷歌电子表格有这个功能,我认为微软办公室也有这个功能。 –