ruby-on-rails - 在 ruby on rails 中使用 axlsx 时,在 spreadhseet 行中应用多种样式
问题描述
我正在使用 axlsx gem 在 Rails 中生成电子表格。
我连续大约有 25 列,我想申请:
- 第 1 列的粗体字体和蓝色背景
- 所有剩余的第 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 并将另一种样式应用于所有其他列,而不必像我上面所做的那样多次键入样式名称?
解决方案
为什么不对行应用蓝色背景,然后仅在每列的第一个单元格中应用粗体样式?
sheet.add_row row_data, :style => blue_background_style
sheet.rows[current_row].cells[0].style = bold_style
推荐阅读
- node.js - 在 graphQL 中请求帖子列表会在 Node js 中出现错误
- sql-server - 在 SQL Server 中合并相同的结果
- java - 为什么这个正则表达式与 Java 中的这种颜色不匹配?
- oracle - 创建表中的序列?
- xml - 通过 XML 将大量产品导入 Woocomerce。最好的方法是什么?
- c# - 在 .net core 和 .net 框架中搜索提供不同输出的注册表项
- html - 在不修改 HTML 的情况下将字体更改为斜体
- android - 为什么我的 xamarin 标签显示不透明
- xslt-1.0 - 使用 xslt 在 xml 中同时重命名父节点和重新排列子节点
- java - 无法从 iframe 内的下拉列表中选择选项 - selenium - java8