首页 > 解决方案 > 在 ruby​​ on rails 中使用 axlsx 时,在 spreadhseet 行中应用多种样式

问题描述

我正在使用 axlsx gem 在 Rails 中生成电子表格。

我连续大约有 25 列,我想申请:

  1. 第 1 列的粗体字体和蓝色背景
  2. 所有剩余的第 2 到 25 列的蓝色背景(没有粗体)。

我怎样才能实现这一点而不必编写样式 25 次?

这是我正在使用的当前代码:

color_style = [gray_col1_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style, gray_style]

sheet.add_row [treasury_forecast.forecast_item, treasury_forecast.total, treasury_forecast.mtd, treasury_forecast.day1, treasury_forecast.day2, treasury_forecast.day3, treasury_forecast.day4, treasury_forecast.day5, treasury_forecast.day6, treasury_forecast.day7, treasury_forecast.day8, treasury_forecast.day9, treasury_forecast.day10, treasury_forecast.day11, treasury_forecast.day12, treasury_forecast.day13, treasury_forecast.day14, treasury_forecast.day15, treasury_forecast.day16, treasury_forecast.day17, treasury_forecast.day18, treasury_forecast.day19, treasury_forecast.day20, treasury_forecast.day21, treasury_forecast.day22, treasury_forecast.day23], :style => color_style

我已经为除 col1 之外的所有列重复了 gray_style。有没有办法将一种样式应用于 col1 并将另一种样式应用于所有其他列,而不必像我上面所做的那样多次键入样式名称?

标签: ruby-on-railsspreadsheetaxlsx

解决方案


为什么不对行应用蓝色背景,然后仅在每列的第一个单元格中应用粗体样式?

   sheet.add_row row_data, :style => blue_background_style
   sheet.rows[current_row].cells[0].style = bold_style

推荐阅读