在ruby on rails中使用axlsx时,在spreadhseet行中应用多个样式



我使用axlsx-gem在rails中生成电子表格。

我有大约25列在一行,我想申请:

  1. 列1上的粗体和蓝色背景
  2. 蓝色背景(不带粗体(

我如何在不必写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,将另一个样式适用于所有其他列,而不必像我上面所做的那样多次键入样式名称?

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

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

最新更新