axlsx 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/README.md +18 -7
  2. data/examples/conditional_formatting/example_conditional_formatting.rb +72 -0
  3. data/examples/conditional_formatting/getting_barred.rb +37 -0
  4. data/examples/conditional_formatting/hitting_the_high_notes.rb +37 -0
  5. data/examples/conditional_formatting/scaled_colors.rb +39 -0
  6. data/examples/conditional_formatting/stop_and_go.rb +37 -0
  7. data/examples/example.rb +6 -2
  8. data/examples/{real_example.rb → skydrive/real_example.rb} +0 -0
  9. data/lib/axlsx.rb +1 -1
  10. data/lib/axlsx/drawing/axis.rb +16 -0
  11. data/lib/axlsx/stylesheet/dxf.rb +79 -0
  12. data/lib/axlsx/stylesheet/font.rb +2 -1
  13. data/lib/axlsx/stylesheet/styles.rb +141 -50
  14. data/lib/axlsx/stylesheet/xf.rb +2 -0
  15. data/lib/axlsx/util/constants.rb +8 -0
  16. data/lib/axlsx/util/validators.rb +44 -0
  17. data/lib/axlsx/version.rb +1 -1
  18. data/lib/axlsx/workbook/workbook.rb +6 -0
  19. data/lib/axlsx/workbook/worksheet/cfvo.rb +62 -0
  20. data/lib/axlsx/workbook/worksheet/cfvo.rb~ +0 -0
  21. data/lib/axlsx/workbook/worksheet/color_scale.rb +76 -0
  22. data/lib/axlsx/workbook/worksheet/color_scale.rb~ +46 -0
  23. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -0
  24. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +216 -0
  25. data/lib/axlsx/workbook/worksheet/data_bar.rb +97 -0
  26. data/lib/axlsx/workbook/worksheet/data_bar.rb~ +0 -0
  27. data/lib/axlsx/workbook/worksheet/icon_set.rb +83 -0
  28. data/lib/axlsx/workbook/worksheet/icon_set.rb~ +95 -0
  29. data/lib/axlsx/workbook/worksheet/row.rb +2 -0
  30. data/lib/axlsx/workbook/worksheet/worksheet.rb +25 -3
  31. data/test/drawing/tc_axis.rb +8 -0
  32. data/test/stylesheet/tc_dxf.rb +81 -0
  33. data/test/stylesheet/tc_styles.rb +148 -2
  34. data/test/workbook/worksheet/tc_cfvo.rb +31 -0
  35. data/test/workbook/worksheet/tc_cfvo.rb~ +20 -0
  36. data/test/workbook/worksheet/tc_color_scale.rb +29 -0
  37. data/test/workbook/worksheet/tc_color_scale.rb~ +0 -0
  38. data/test/workbook/worksheet/tc_conditional_formatting.rb +173 -0
  39. data/test/workbook/worksheet/tc_data_bar.rb +39 -0
  40. data/test/workbook/worksheet/tc_data_bar.rb~ +0 -0
  41. data/test/workbook/worksheet/tc_icon_set.rb +45 -0
  42. data/test/workbook/worksheet/tc_icon_set.rb~ +0 -0
  43. data/test/workbook/worksheet/tc_row.rb +9 -2
  44. metadata +45 -27
  45. data/examples/axlsx.xlsx +0 -0
  46. data/examples/example.xlsx +0 -0
  47. data/examples/example_streamed.xlsx +0 -0
  48. data/examples/no-use_autowidth.xlsx +0 -0
  49. data/examples/shared_strings_example.xlsx +0 -0
  50. data/lib/axlsx/util/doc/_index.html +0 -84
  51. data/lib/axlsx/util/doc/class_list.html +0 -47
  52. data/lib/axlsx/util/doc/css/common.css +0 -1
  53. data/lib/axlsx/util/doc/css/full_list.css +0 -55
  54. data/lib/axlsx/util/doc/css/style.css +0 -322
  55. data/lib/axlsx/util/doc/file_list.html +0 -46
  56. data/lib/axlsx/util/doc/frames.html +0 -13
  57. data/lib/axlsx/util/doc/index.html +0 -84
  58. data/lib/axlsx/util/doc/js/app.js +0 -205
  59. data/lib/axlsx/util/doc/js/full_list.js +0 -173
  60. data/lib/axlsx/util/doc/js/jquery.js +0 -16
  61. data/lib/axlsx/util/doc/method_list.html +0 -46
  62. data/lib/axlsx/util/doc/top-level-namespace.html +0 -95
@@ -0,0 +1,20 @@
1
+ require 'tc_helper.rb'
2
+
3
+ class TestConditionalFormatting < Test::Unit::TestCase
4
+ def setup
5
+ cfvo = Axlsx::Cfvo.new :val => 0, :type => :min
6
+ end
7
+
8
+ def test_val
9
+ assert_raise(ArgumentError) { cfvo.val = 0 }
10
+ assert_nothing_raised { cfvo.val = "abc" }
11
+ assert_equal(cfvo.val, "abc")
12
+ end
13
+
14
+ def test_type
15
+ assert_raise(ArgumentError) { cfvo.type = :invalid_type }
16
+ assert_nothing_raised { cfvo.type = :max }
17
+ assert_equal(cfvo.type, :max)
18
+ end
19
+
20
+ end
@@ -0,0 +1,29 @@
1
+ require 'tc_helper.rb'
2
+
3
+ class TestColorScale < Test::Unit::TestCase
4
+ def setup
5
+ @color_scale = Axlsx::ColorScale.new
6
+ end
7
+
8
+ def test_add
9
+ @color_scale.add :type => :max, :val => 5, :color => "FFDEDEDE"
10
+ assert_equal(@color_scale.value_objects.size,3)
11
+ assert_equal(@color_scale.colors.size,3)
12
+ end
13
+
14
+ def test_delete_at
15
+ assert_raise(ArgumentError, "minimum two are protected") { @color_scale.delete_at 0 }
16
+ assert_raise(ArgumentError, "minimum two are protected") { @color_scale.delete_at 1 }
17
+ @color_scale.add :type => :max, :val => 5, :color => "FFDEDEDE"
18
+ assert_nothing_raised {@color_scale.delete_at 2}
19
+ assert_equal(@color_scale.value_objects.size,2)
20
+ assert_equal(@color_scale.colors.size,2)
21
+ end
22
+
23
+ def test_to_xml_string
24
+ doc = Nokogiri::XML.parse(@color_scale.to_xml_string)
25
+ assert_equal(doc.xpath(".//colorScale//cfvo").size, 2)
26
+ assert_equal(doc.xpath(".//colorScale//color").size, 2)
27
+ end
28
+
29
+ end
@@ -0,0 +1,173 @@
1
+ require 'tc_helper.rb'
2
+
3
+ class TestConditionalFormatting < Test::Unit::TestCase
4
+
5
+ def setup
6
+ p = Axlsx::Package.new
7
+ @ws = p.workbook.add_worksheet :name=>"hmmm"
8
+ @cfs = @ws.add_conditional_formatting( "A1:A1", [{ :type => :cellIs, :dxfId => 0, :priority => 1, :operator => :greaterThan, :formula => "0.5" }])
9
+ @cf = @cfs.first
10
+ @cfr = @cf.rules.first
11
+ end
12
+
13
+ def test_initialize_with_options
14
+ optioned = Axlsx::ConditionalFormatting.new( :sqref => "AA1:AB100", :rules => [1, 2] )
15
+ assert_equal("AA1:AB100", optioned.sqref)
16
+ assert_equal([1, 2], optioned.rules)
17
+ end
18
+
19
+ def test_add_as_hash
20
+
21
+ color_scale = Axlsx::ColorScale.new do |cs|
22
+ cs.colors.first.rgb = "FFDFDFDF"
23
+ cs.colors.last.rgb = "FF00FF00"
24
+ cs.value_objects.first.type = :percentile
25
+ cs.value_objects.first.val = 5
26
+ end
27
+
28
+ data_bar = Axlsx::DataBar.new :color => "FFFF0000"
29
+ icon_set = Axlsx::IconSet.new :iconSet => "5Rating"
30
+
31
+ cfs = @ws.add_conditional_formatting( "B2:B2", [{ :type => :containsText, :text => "TRUE",
32
+ :dxfId => 0, :priority => 1,
33
+ :formula => 'NOT(ISERROR(SEARCH("FALSE",AB1)))',
34
+ :color_scale => color_scale,
35
+ :data_bar => data_bar,
36
+ :icon_set => icon_set}])
37
+ doc = Nokogiri::XML.parse(cfs.last.to_xml_string)
38
+ assert_equal(1, doc.xpath(".//conditionalFormatting[@sqref='B2:B2']//cfRule[@type='containsText'][@dxfId=0][@priority=1]").size)
39
+ assert doc.xpath(".//conditionalFormatting//cfRule[@type='containsText'][@dxfId=0][@priority=1]//formula='NOT(ISERROR(SEARCH(\"FALSE\",AB1)))'")
40
+
41
+ cfs.last.rules.last.type = :colorScale
42
+ doc = Nokogiri::XML.parse(cfs.last.to_xml_string)
43
+ assert_equal(doc.xpath(".//conditionalFormatting//cfRule//colorScale//cfvo").size, 2)
44
+ assert_equal(doc.xpath(".//conditionalFormatting//cfRule//colorScale//color").size, 2)
45
+
46
+ cfs.last.rules.last.type = :dataBar
47
+ doc = Nokogiri::XML.parse(cfs.last.to_xml_string)
48
+ assert_equal(doc.xpath(".//conditionalFormatting//cfRule//dataBar").size, 1)
49
+ assert_equal(doc.xpath(".//conditionalFormatting//cfRule//dataBar//cfvo").size, 2)
50
+ assert_equal(doc.xpath(".//conditionalFormatting//cfRule//dataBar//color[@rgb='FFFF0000']").size, 1)
51
+
52
+ cfs.last.rules.last.type = :iconSet
53
+ doc = Nokogiri::XML.parse(cfs.last.to_xml_string)
54
+ assert_equal(doc.xpath(".//conditionalFormatting//cfRule//iconSet//cfvo").size, 3)
55
+ assert_equal(doc.xpath(".//conditionalFormatting//cfRule//iconSet[@iconSet='5Rating']").size, 1)
56
+
57
+ end
58
+
59
+ def test_single_rule
60
+ doc = Nokogiri::XML.parse(@cf.to_xml_string)
61
+ assert_equal(1, doc.xpath(".//conditionalFormatting//cfRule[@type='cellIs'][@dxfId=0][@priority=1][@operator='greaterThan']").size)
62
+ assert doc.xpath(".//conditionalFormatting//cfRule[@type='cellIs'][@dxfId=0][@priority=1][@operator='greaterThan']//formula='0.5'")
63
+ end
64
+
65
+ def test_many_options
66
+ cf = Axlsx::ConditionalFormatting.new( :sqref => "B3:B4" )
67
+ cf.add_rule({:type => :cellIs, :aboveAverage => false, :bottom => false, :dxfId => 0,
68
+ :equalAverage => false, :priority => 2, :operator => :lessThan, :text => "",
69
+ :percent => false, :rank => 0, :stdDev => 1, :stopIfTrue => true, :timePeriod => :today,
70
+ :formula => "0.0"})
71
+ doc = Nokogiri::XML.parse(cf.to_xml_string)
72
+ assert_equal(1, doc.xpath(".//conditionalFormatting//cfRule[@type='cellIs'][@aboveAverage='false'][@bottom='false'][@dxfId=0][@equalAverage='false'][@priority=2][@operator='lessThan'][@text=''][@percent='false'][@rank=0][@stdDev=1][@stopIfTrue='true'][@timePeriod='today']").size)
73
+ assert doc.xpath(".//conditionalFormatting//cfRule[@type='cellIs'][@aboveAverage='false'][@bottom='false'][@dxfId=0][@equalAverage='false'][@priority=2][@operator='lessThan'][@text=''][@percent='false'][@rank=0][@stdDev=1][@stopIfTrue='true'][@timePeriod='today']//formula=0.0")
74
+ end
75
+
76
+ def test_to_xml
77
+ doc = Nokogiri::XML.parse(@ws.to_xml_string)
78
+ assert_equal(1, doc.xpath("//xmlns:worksheet/xmlns:conditionalFormatting//xmlns:cfRule[@type='cellIs'][@dxfId=0][@priority=1][@operator='greaterThan']").size)
79
+ assert doc.xpath("//xmlns:worksheet/xmlns:conditionalFormatting//xmlns:cfRule[@type='cellIs'][@dxfId=0][@priority=1][@operator='greaterThan']//xmlns:formula='0.5'")
80
+ end
81
+
82
+ def test_multiple_formats
83
+ @ws.add_conditional_formatting "B3:B3", { :type => :cellIs, :dxfId => 0, :priority => 1, :operator => :greaterThan, :formula => "1" }
84
+ doc = Nokogiri::XML.parse(@ws.to_xml_string)
85
+ assert doc.xpath("//xmlns:worksheet/xmlns:conditionalFormatting//xmlns:cfRule[@type='cellIs'][@dxfId=0][@priority=1][@operator='greaterThan']//xmlns:formula='1'")
86
+ assert doc.xpath("//xmlns:worksheet/xmlns:conditionalFormatting//xmlns:cfRule[@type='cellIs'][@dxfId=0][@priority=1][@operator='greaterThan']//xmlns:formula='0.5'")
87
+ end
88
+
89
+ def test_sqref
90
+ assert_raise(ArgumentError) { @cf.sqref = 10 }
91
+ assert_nothing_raised { @cf.sqref = "A1:A1" }
92
+ assert_equal(@cf.sqref, "A1:A1")
93
+ end
94
+
95
+ def test_type
96
+ assert_raise(ArgumentError) { @cfr.type = "illegal" }
97
+ assert_nothing_raised { @cfr.type = :containsBlanks }
98
+ assert_equal(@cfr.type, :containsBlanks)
99
+ end
100
+
101
+ def test_above_average
102
+ assert_raise(ArgumentError) { @cfr.aboveAverage = "illegal" }
103
+ assert_nothing_raised { @cfr.aboveAverage = true }
104
+ assert_equal(@cfr.aboveAverage, true)
105
+ end
106
+
107
+ def test_equal_average
108
+ assert_raise(ArgumentError) { @cfr.equalAverage = "illegal" }
109
+ assert_nothing_raised { @cfr.equalAverage = true }
110
+ assert_equal(@cfr.equalAverage, true)
111
+ end
112
+
113
+ def test_bottom
114
+ assert_raise(ArgumentError) { @cfr.bottom = "illegal" }
115
+ assert_nothing_raised { @cfr.bottom = true }
116
+ assert_equal(@cfr.bottom, true)
117
+ end
118
+
119
+ def test_operator
120
+ assert_raise(ArgumentError) { @cfr.operator = "cellIs" }
121
+ assert_nothing_raised { @cfr.operator = :notBetween }
122
+ assert_equal(@cfr.operator, :notBetween)
123
+ end
124
+
125
+ def test_dxf_id
126
+ assert_raise(ArgumentError) { @cfr.dxfId = "illegal" }
127
+ assert_nothing_raised { @cfr.dxfId = 1 }
128
+ assert_equal(@cfr.dxfId, 1)
129
+ end
130
+
131
+ def test_priority
132
+ assert_raise(ArgumentError) { @cfr.priority = -1.0 }
133
+ assert_nothing_raised { @cfr.priority = 1 }
134
+ assert_equal(@cfr.priority, 1)
135
+ end
136
+
137
+ def test_text
138
+ assert_raise(ArgumentError) { @cfr.text = 1.0 }
139
+ assert_nothing_raised { @cfr.text = "testing" }
140
+ assert_equal(@cfr.text, "testing")
141
+ end
142
+
143
+ def test_percent
144
+ assert_raise(ArgumentError) { @cfr.percent = "10%" } #WRONG!
145
+ assert_nothing_raised { @cfr.percent = true }
146
+ assert_equal(@cfr.percent, true)
147
+ end
148
+
149
+ def test_rank
150
+ assert_raise(ArgumentError) { @cfr.rank = -1 }
151
+ assert_nothing_raised { @cfr.rank = 1 }
152
+ assert_equal(@cfr.rank, 1)
153
+ end
154
+
155
+ def test_std_dev
156
+ assert_raise(ArgumentError) { @cfr.stdDev = -1 }
157
+ assert_nothing_raised { @cfr.stdDev = 1 }
158
+ assert_equal(@cfr.stdDev, 1)
159
+ end
160
+
161
+ def test_stop_if_true
162
+ assert_raise(ArgumentError) { @cfr.stopIfTrue = "illegal" }
163
+ assert_nothing_raised { @cfr.stopIfTrue = false }
164
+ assert_equal(@cfr.stopIfTrue, false)
165
+ end
166
+
167
+ def test_time_period
168
+ assert_raise(ArgumentError) { @cfr.timePeriod = "illegal" }
169
+ assert_nothing_raised { @cfr.timePeriod = :today }
170
+ assert_equal(@cfr.timePeriod, :today)
171
+ end
172
+
173
+ end
@@ -0,0 +1,39 @@
1
+ require 'tc_helper.rb'
2
+
3
+ class TestDataBar < Test::Unit::TestCase
4
+ def setup
5
+ @data_bar = Axlsx::DataBar.new :color => "FF638EC6"
6
+ end
7
+
8
+ def test_defaults
9
+ assert_equal @data_bar.minLength, 10
10
+ assert_equal @data_bar.maxLength, 90
11
+ assert_equal @data_bar.showValue, true
12
+ end
13
+
14
+ def test_minLength
15
+ assert_raise(ArgumentError) { @data_bar.minLength = :invalid_type }
16
+ assert_nothing_raised { @data_bar.minLength = 0}
17
+ assert_equal(@data_bar.minLength, 0)
18
+ end
19
+
20
+ def test_maxLength
21
+ assert_raise(ArgumentError) { @data_bar.maxLength = :invalid_type }
22
+ assert_nothing_raised { @data_bar.maxLength = 0}
23
+ assert_equal(@data_bar.maxLength, 0)
24
+ end
25
+
26
+ def test_maxLength
27
+ assert_raise(ArgumentError) { @data_bar.showValue = :invalid_type }
28
+ assert_nothing_raised { @data_bar.showValue = false}
29
+ assert_equal(@data_bar.showValue, false)
30
+ end
31
+
32
+ def test_to_xml_string
33
+ doc = Nokogiri::XML.parse(@data_bar.to_xml_string)
34
+ assert_equal(doc.xpath(".//dataBar[@minLength=10][@maxLength=90][@showValue='true']").size, 1)
35
+ assert_equal(doc.xpath(".//dataBar//cfvo").size, 2)
36
+ assert_equal(doc.xpath(".//dataBar//color").size, 1)
37
+ end
38
+
39
+ end
@@ -0,0 +1,45 @@
1
+ require 'tc_helper.rb'
2
+
3
+ class TestIconSet < Test::Unit::TestCase
4
+ def setup
5
+ @icon_set = Axlsx::IconSet.new
6
+ end
7
+
8
+ def test_defaults
9
+ assert_equal @icon_set.iconSet, "3TrafficLights1"
10
+ assert_equal @icon_set.percent, true
11
+ assert_equal @icon_set.reverse, false
12
+ assert_equal @icon_set.showValue, true
13
+ end
14
+
15
+ def test_icon_set
16
+ assert_raise(ArgumentError) { @icon_set.iconSet = "invalid_value" }
17
+ assert_nothing_raised { @icon_set.iconSet = "5Rating"}
18
+ assert_equal(@icon_set.iconSet, "5Rating")
19
+ end
20
+
21
+ def test_percent
22
+ assert_raise(ArgumentError) { @icon_set.percent = :invalid_type }
23
+ assert_nothing_raised { @icon_set.percent = false}
24
+ assert_equal(@icon_set.percent, false)
25
+ end
26
+
27
+ def test_showValue
28
+ assert_raise(ArgumentError) { @icon_set.showValue = :invalid_type }
29
+ assert_nothing_raised { @icon_set.showValue = false}
30
+ assert_equal(@icon_set.showValue, false)
31
+ end
32
+
33
+ def test_reverse
34
+ assert_raise(ArgumentError) { @icon_set.reverse = :invalid_type }
35
+ assert_nothing_raised { @icon_set.reverse = false}
36
+ assert_equal(@icon_set.reverse, false)
37
+ end
38
+
39
+ def test_to_xml_string
40
+ doc = Nokogiri::XML.parse(@icon_set.to_xml_string)
41
+ assert_equal(doc.xpath(".//iconSet[@iconSet='3TrafficLights1'][@percent='true'][@reverse='false'][@showValue='true']").size, 1)
42
+ assert_equal(doc.xpath(".//iconSet//cfvo").size, 3)
43
+ end
44
+
45
+ end
@@ -32,7 +32,7 @@ class TestRow < Test::Unit::TestCase
32
32
  r_s_xml = Nokogiri::XML(row.to_xml_string(0, ''))
33
33
  assert_equal(r_s_xml.xpath(".//row/c").size, 4)
34
34
  end
35
-
35
+
36
36
  def test_nil_cell_r
37
37
  row = @ws.add_row([nil,1,2,nil,4,5,nil])
38
38
  r_s_xml = Nokogiri::XML(row.to_xml_string(0, ''))
@@ -50,8 +50,15 @@ class TestRow < Test::Unit::TestCase
50
50
  end
51
51
 
52
52
  def test_array_to_cells
53
- r = @ws.add_row [1,2,3], :style=>0, :types=>:integer
53
+ r = @ws.add_row [1,2,3], :style=>1, :types=>[:integer, :string, :float]
54
54
  assert_equal(r.cells.size, 3)
55
+ r.cells.each do |c|
56
+ assert_equal(c.style, 1)
57
+ end
58
+ r = @ws.add_row [1,2,3], :style=>[1]
59
+ assert_equal(r.cells.first.style, 1, "only apply style to cells with at the same index of of the style array")
60
+ assert_equal(r.cells.last.style, 0, "only apply style to cells with at the same index of of the style array")
61
+
55
62
  end
56
63
 
57
64
  def test_custom_height
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: axlsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-18 00:00:00.000000000 Z
12
+ date: 2012-04-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &2160215160 !ruby/object:Gem::Requirement
16
+ requirement: &2151871900 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.4.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2160215160
24
+ version_requirements: *2151871900
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rubyzip
27
- requirement: &2160213980 !ruby/object:Gem::Requirement
27
+ requirement: &2151870200 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.9.5
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2160213980
35
+ version_requirements: *2151870200
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &2160213220 !ruby/object:Gem::Requirement
38
+ requirement: &2151868340 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: 0.8.7
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2160213220
46
+ version_requirements: *2151868340
47
47
  description: ! ' xlsx generation with charts, images, automated column width, customizable
48
48
  styles and full schema validation. Axlsx excels at helping you generate beautiful
49
49
  Office Open XML Spreadsheet documents without having to understand the entire ECMA
@@ -103,6 +103,7 @@ files:
103
103
  - lib/axlsx/stylesheet/cell_protection.rb
104
104
  - lib/axlsx/stylesheet/cell_style.rb
105
105
  - lib/axlsx/stylesheet/color.rb
106
+ - lib/axlsx/stylesheet/dxf.rb
106
107
  - lib/axlsx/stylesheet/fill.rb
107
108
  - lib/axlsx/stylesheet/font.rb
108
109
  - lib/axlsx/stylesheet/gradient_fill.rb
@@ -117,19 +118,6 @@ files:
117
118
  - lib/axlsx/util/cbf.rb
118
119
  - lib/axlsx/util/cfb.rb~
119
120
  - lib/axlsx/util/constants.rb
120
- - lib/axlsx/util/doc/_index.html
121
- - lib/axlsx/util/doc/class_list.html
122
- - lib/axlsx/util/doc/css/common.css
123
- - lib/axlsx/util/doc/css/full_list.css
124
- - lib/axlsx/util/doc/css/style.css
125
- - lib/axlsx/util/doc/file_list.html
126
- - lib/axlsx/util/doc/frames.html
127
- - lib/axlsx/util/doc/index.html
128
- - lib/axlsx/util/doc/js/app.js
129
- - lib/axlsx/util/doc/js/full_list.js
130
- - lib/axlsx/util/doc/js/jquery.js
131
- - lib/axlsx/util/doc/method_list.html
132
- - lib/axlsx/util/doc/top-level-namespace.html
133
121
  - lib/axlsx/util/font_tables.rb~
134
122
  - lib/axlsx/util/ms_off_crypto.rb
135
123
  - lib/axlsx/util/ms_off_crypto.rb~
@@ -145,9 +133,19 @@ files:
145
133
  - lib/axlsx/workbook/shared_strings_table.rb~
146
134
  - lib/axlsx/workbook/workbook.rb
147
135
  - lib/axlsx/workbook/worksheet/cell.rb
136
+ - lib/axlsx/workbook/worksheet/cfvo.rb
137
+ - lib/axlsx/workbook/worksheet/cfvo.rb~
148
138
  - lib/axlsx/workbook/worksheet/col.rb
149
139
  - lib/axlsx/workbook/worksheet/col.rb~
140
+ - lib/axlsx/workbook/worksheet/color_scale.rb
141
+ - lib/axlsx/workbook/worksheet/color_scale.rb~
142
+ - lib/axlsx/workbook/worksheet/conditional_formatting.rb
143
+ - lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb
144
+ - lib/axlsx/workbook/worksheet/data_bar.rb
145
+ - lib/axlsx/workbook/worksheet/data_bar.rb~
150
146
  - lib/axlsx/workbook/worksheet/date_time_converter.rb
147
+ - lib/axlsx/workbook/worksheet/icon_set.rb
148
+ - lib/axlsx/workbook/worksheet/icon_set.rb~
151
149
  - lib/axlsx/workbook/worksheet/page_margins.rb
152
150
  - lib/axlsx/workbook/worksheet/row.rb
153
151
  - lib/axlsx/workbook/worksheet/shared_strings_table.rb~
@@ -193,19 +191,19 @@ files:
193
191
  - lib/schema/vml-wordprocessingDrawing.xsd
194
192
  - lib/schema/wml.xsd
195
193
  - lib/schema/xml.xsd
196
- - examples/axlsx.xlsx
194
+ - examples/conditional_formatting/example_conditional_formatting.rb
195
+ - examples/conditional_formatting/getting_barred.rb
196
+ - examples/conditional_formatting/hitting_the_high_notes.rb
197
+ - examples/conditional_formatting/scaled_colors.rb
198
+ - examples/conditional_formatting/stop_and_go.rb
197
199
  - examples/example.csv
198
200
  - examples/example.rb
199
- - examples/example.xlsx
200
- - examples/example_streamed.xlsx
201
201
  - examples/image1.gif
202
202
  - examples/image1.jpeg
203
203
  - examples/image1.jpg
204
204
  - examples/image1.png
205
- - examples/no-use_autowidth.xlsx
206
- - examples/real_example.rb
207
205
  - examples/sample.png
208
- - examples/shared_strings_example.xlsx
206
+ - examples/skydrive/real_example.rb
209
207
  - LICENSE
210
208
  - README.md
211
209
  - Rakefile
@@ -254,6 +252,7 @@ files:
254
252
  - test/stylesheet/tc_cell_protection.rb
255
253
  - test/stylesheet/tc_cell_style.rb
256
254
  - test/stylesheet/tc_color.rb
255
+ - test/stylesheet/tc_dxf.rb
257
256
  - test/stylesheet/tc_fill.rb
258
257
  - test/stylesheet/tc_font.rb
259
258
  - test/stylesheet/tc_gradient_fill.rb
@@ -275,9 +274,18 @@ files:
275
274
  - test/workbook/worksheet/table/tc_table.rb
276
275
  - test/workbook/worksheet/table/tc_table.rb~
277
276
  - test/workbook/worksheet/tc_cell.rb
277
+ - test/workbook/worksheet/tc_cfvo.rb
278
+ - test/workbook/worksheet/tc_cfvo.rb~
278
279
  - test/workbook/worksheet/tc_col.rb
279
280
  - test/workbook/worksheet/tc_col.rb~
281
+ - test/workbook/worksheet/tc_color_scale.rb
282
+ - test/workbook/worksheet/tc_color_scale.rb~
283
+ - test/workbook/worksheet/tc_conditional_formatting.rb
284
+ - test/workbook/worksheet/tc_data_bar.rb
285
+ - test/workbook/worksheet/tc_data_bar.rb~
280
286
  - test/workbook/worksheet/tc_date_time_converter.rb
287
+ - test/workbook/worksheet/tc_icon_set.rb
288
+ - test/workbook/worksheet/tc_icon_set.rb~
281
289
  - test/workbook/worksheet/tc_page_margins.rb
282
290
  - test/workbook/worksheet/tc_row.rb
283
291
  - test/workbook/worksheet/tc_worksheet.rb
@@ -349,6 +357,7 @@ test_files:
349
357
  - test/stylesheet/tc_cell_protection.rb
350
358
  - test/stylesheet/tc_cell_style.rb
351
359
  - test/stylesheet/tc_color.rb
360
+ - test/stylesheet/tc_dxf.rb
352
361
  - test/stylesheet/tc_fill.rb
353
362
  - test/stylesheet/tc_font.rb
354
363
  - test/stylesheet/tc_gradient_fill.rb
@@ -370,9 +379,18 @@ test_files:
370
379
  - test/workbook/worksheet/table/tc_table.rb
371
380
  - test/workbook/worksheet/table/tc_table.rb~
372
381
  - test/workbook/worksheet/tc_cell.rb
382
+ - test/workbook/worksheet/tc_cfvo.rb
383
+ - test/workbook/worksheet/tc_cfvo.rb~
373
384
  - test/workbook/worksheet/tc_col.rb
374
385
  - test/workbook/worksheet/tc_col.rb~
386
+ - test/workbook/worksheet/tc_color_scale.rb
387
+ - test/workbook/worksheet/tc_color_scale.rb~
388
+ - test/workbook/worksheet/tc_conditional_formatting.rb
389
+ - test/workbook/worksheet/tc_data_bar.rb
390
+ - test/workbook/worksheet/tc_data_bar.rb~
375
391
  - test/workbook/worksheet/tc_date_time_converter.rb
392
+ - test/workbook/worksheet/tc_icon_set.rb
393
+ - test/workbook/worksheet/tc_icon_set.rb~
376
394
  - test/workbook/worksheet/tc_page_margins.rb
377
395
  - test/workbook/worksheet/tc_row.rb
378
396
  - test/workbook/worksheet/tc_worksheet.rb