1

axlsxでは、次の

color_scale = Axlsx::ColorScale.new do |c_s|
  c_s.colors[1].rgb = "FFFFFF00"
end
color_scale.add :type => :percentile, :val => 50, :color => "FF00FF00"
worksheet.add_conditional_formatting("B3:B100", { :type => :colorScale, :operator => :greaterThan, :formula => "100000", :priority => 1, :color_scale => color_scale })

基本的な 3 色の条件付き書式を作成しますが、色がかなり派手で、わずかに小さい値とわずかに大きい値を区別するのが困難です。

Excel が提供する既定の 3 色の条件付き書式のように見えるものを作成するために、Excel が使用する色をリバース エンジニアリングする必要がありますか?

4

1 に答える 1

5

カラー スケールの場合、Excel は既定でテーマを優先しますが、Axlsx は現在、ユーザーが必要なものを正確に指定することを期待しています。これは、部分的には相互運用性のためですが、主な理由は、Excel の既定値との類似性を必要とするユース ケースに遭遇していないためです。

とはいえ、Axlsx は適切なデフォルト値を提供するためにできる限りのことを行うべきであり、あなたの要求がこの領域を改善する絶好の機会であることを理解していただけると確信しています。

あなたが達成しようとしていることのサンプル xlsx を送っていただけませんか? 私は、あなたが今目にしている結果に少しでも満足していただけるように、少し砂糖を加えて、この宝石の他のユーザーに利益をもたらすことを願っています.

2012.11.16更新

Axlsx がバージョン 1.3.4 に更新され、ColorScale に 2 つのクラス メソッドが提供され、2 トーンおよび 3 トーンのカラー スケーリングに適切なデフォルト値を持つ新しい ColorScale オブジェクトが作成されます。

例:

# to make a three tone color scale
color_scale = Axlsx::ColorScale.three_tone

# to make a two tone color scale
color_scale = Axlsx::ColorScale.two_tone

# To make a customized color scale you, pass hashes consisting of 
# type, val and color key-value pairs as arguments to the initializer.
# This example that creates the same three tone color scale as 
# Axlsx::ColorScale.three_tone
color_scale = Axlsx::ColorScale.new({:type => :min, :val => 0, :color => 'FFF8696B'},
                 {:type => :percent, :val => '50', :color => 'FFFFEB84'},
                 {:type => :max, :val => 0, :color => 'FF63BE7B'})
于 2012-10-29T14:17:10.473 に答える