特定单元格上的AXLSX网格线

时间:2013-09-17 17:21:06

标签: ruby-on-rails excel ruby-on-rails-3.2 axlsx

我有一个工作表,我想将网格线仅应用于特定单元格(仅对特定单元格禁用)。我已经阅读了文档,只能在每个工作表的基础上找到它。我以我的风格尝试了:gridlines=>true以防万一,但这没效果。

因此,它的要点是,如果甚至可能,如何为AXLSX中的特定单元格添加/删除网格线?

更新

这是截图。在左边没有明显的网格线。当我检查格式单元格时,我没有看到任何边框来创建效果。在右侧,您可以看到网格线,并且连续向右滚动将显示更多网格线。

Excel Spreadsheet

2 个答案:

答案 0 :(得分:6)

使用axlsx,你需要像下面这样的东西来实现没有网格的组合,但是在某些单元格上有边框:

require 'axlsx'
package = Axlsx::Package.new
package.workbook do |workbook|
  workbook.styles do |s|
    gridstyle_border =  s.add_style :border => { :style => :thin, :color =>"FFCDCDCD" }
    workbook.add_worksheet :name => "Custom Borders"  do |sheet|
      sheet.sheet_view.show_grid_lines = false
      sheet.add_row ["with", "grid", "style"], :style => gridstyle_border
      sheet.add_row ["no", "border"]
    end
  end
end
package.serialize 'no_grid_with_borders.xlsx'

正如您在上面的示例中所看到的,诀窍是在工作表视图上关闭网格线,然后将所需的任何边框样式应用于应该具有边框的单元格。

最好的

randym

答案 1 :(得分:1)

这是一个非常好的问题,而不是一个axlsx问题。在excel中,您只能逐页关闭网格线。我相信,你要做的是禁用工作表的网格线,然后围绕一组特定的单元格创建边框,以模拟“网格线”外观。