caxlsx 2.0.2 → 3.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +125 -30
- data/README.md +65 -151
- data/Rakefile +9 -11
- data/examples/{image1.jpeg → assets/image1.jpeg} +0 -0
- data/examples/generate.rb +15 -0
- data/lib/axlsx.rb +35 -17
- data/lib/axlsx/content_type/abstract_content_type.rb +1 -1
- data/lib/axlsx/content_type/content_type.rb +1 -1
- data/lib/axlsx/doc_props/app.rb +1 -1
- data/lib/axlsx/doc_props/core.rb +5 -5
- data/lib/axlsx/drawing/area_chart.rb +99 -0
- data/lib/axlsx/drawing/area_series.rb +110 -0
- data/lib/axlsx/drawing/axes.rb +1 -1
- data/lib/axlsx/drawing/axis.rb +12 -9
- data/lib/axlsx/drawing/bar_3D_chart.rb +13 -13
- data/lib/axlsx/drawing/bar_chart.rb +143 -0
- data/lib/axlsx/drawing/bar_series.rb +12 -14
- data/lib/axlsx/drawing/bubble_chart.rb +59 -0
- data/lib/axlsx/drawing/bubble_series.rb +63 -0
- data/lib/axlsx/drawing/cat_axis.rb +5 -5
- data/lib/axlsx/drawing/chart.rb +52 -8
- data/lib/axlsx/drawing/d_lbls.rb +4 -4
- data/lib/axlsx/drawing/drawing.rb +6 -1
- data/lib/axlsx/drawing/graphic_frame.rb +3 -3
- data/lib/axlsx/drawing/hyperlink.rb +1 -3
- data/lib/axlsx/drawing/line_3D_chart.rb +2 -2
- data/lib/axlsx/drawing/line_chart.rb +10 -10
- data/lib/axlsx/drawing/line_series.rb +32 -3
- data/lib/axlsx/drawing/marker.rb +1 -1
- data/lib/axlsx/drawing/num_data.rb +4 -4
- data/lib/axlsx/drawing/num_data_source.rb +6 -6
- data/lib/axlsx/drawing/num_val.rb +3 -1
- data/lib/axlsx/drawing/one_cell_anchor.rb +3 -2
- data/lib/axlsx/drawing/pic.rb +25 -19
- data/lib/axlsx/drawing/picture_locking.rb +1 -3
- data/lib/axlsx/drawing/pie_3D_chart.rb +5 -6
- data/lib/axlsx/drawing/pie_series.rb +6 -6
- data/lib/axlsx/drawing/scaling.rb +6 -6
- data/lib/axlsx/drawing/scatter_chart.rb +10 -10
- data/lib/axlsx/drawing/scatter_series.rb +40 -7
- data/lib/axlsx/drawing/ser_axis.rb +2 -2
- data/lib/axlsx/drawing/series.rb +3 -3
- data/lib/axlsx/drawing/series_title.rb +4 -2
- data/lib/axlsx/drawing/str_data.rb +3 -3
- data/lib/axlsx/drawing/str_val.rb +3 -1
- data/lib/axlsx/drawing/title.rb +23 -4
- data/lib/axlsx/drawing/two_cell_anchor.rb +6 -1
- data/lib/axlsx/drawing/val_axis.rb +1 -1
- data/lib/axlsx/drawing/view_3D.rb +2 -2
- data/lib/axlsx/drawing/vml_drawing.rb +1 -1
- data/lib/axlsx/package.rb +58 -47
- data/lib/axlsx/rels/relationship.rb +27 -26
- data/lib/axlsx/rels/relationships.rb +7 -4
- data/lib/axlsx/stylesheet/border_pr.rb +2 -2
- data/lib/axlsx/stylesheet/cell_alignment.rb +1 -3
- data/lib/axlsx/stylesheet/cell_protection.rb +1 -3
- data/lib/axlsx/stylesheet/cell_style.rb +1 -3
- data/lib/axlsx/stylesheet/color.rb +1 -3
- data/lib/axlsx/stylesheet/font.rb +11 -3
- data/lib/axlsx/stylesheet/gradient_stop.rb +1 -1
- data/lib/axlsx/stylesheet/num_fmt.rb +10 -3
- data/lib/axlsx/stylesheet/pattern_fill.rb +1 -1
- data/lib/axlsx/stylesheet/styles.rb +7 -7
- data/lib/axlsx/stylesheet/table_style_element.rb +1 -3
- data/lib/axlsx/util/accessors.rb +6 -6
- data/lib/axlsx/util/constants.rb +108 -99
- data/lib/axlsx/util/mime_type_utils.rb +11 -0
- data/lib/axlsx/util/options_parser.rb +2 -1
- data/lib/axlsx/util/serialized_attributes.rb +16 -6
- data/lib/axlsx/util/simple_typed_list.rb +28 -52
- data/lib/axlsx/util/storage.rb +4 -4
- data/lib/axlsx/util/validators.rb +31 -19
- data/lib/axlsx/util/zip_command.rb +73 -0
- data/lib/axlsx/version.rb +1 -1
- data/lib/axlsx/workbook/defined_name.rb +11 -12
- data/lib/axlsx/workbook/defined_names.rb +2 -2
- data/lib/axlsx/workbook/shared_strings_table.rb +5 -5
- data/lib/axlsx/workbook/workbook.rb +36 -20
- data/lib/axlsx/workbook/workbook_view.rb +80 -0
- data/lib/axlsx/workbook/workbook_views.rb +22 -0
- data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +2 -2
- data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +1 -3
- data/lib/axlsx/workbook/worksheet/break.rb +1 -3
- data/lib/axlsx/workbook/worksheet/cell.rb +164 -75
- data/lib/axlsx/workbook/worksheet/cell_serializer.rb +63 -43
- data/lib/axlsx/workbook/worksheet/cfvo.rb +1 -3
- data/lib/axlsx/workbook/worksheet/cfvos.rb +4 -1
- data/lib/axlsx/workbook/worksheet/col.rb +14 -13
- data/lib/axlsx/workbook/worksheet/col_breaks.rb +2 -2
- data/lib/axlsx/workbook/worksheet/cols.rb +5 -2
- data/lib/axlsx/workbook/worksheet/comment.rb +5 -6
- data/lib/axlsx/workbook/worksheet/comments.rb +9 -12
- data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +1 -1
- data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +1 -1
- data/lib/axlsx/workbook/worksheet/data_bar.rb +4 -6
- data/lib/axlsx/workbook/worksheet/data_validation.rb +8 -6
- data/lib/axlsx/workbook/worksheet/dimension.rb +2 -2
- data/lib/axlsx/workbook/worksheet/header_footer.rb +6 -8
- data/lib/axlsx/workbook/worksheet/icon_set.rb +3 -5
- data/lib/axlsx/workbook/worksheet/merged_cells.rb +4 -2
- data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -0
- data/lib/axlsx/workbook/worksheet/page_margins.rb +1 -3
- data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +1 -1
- data/lib/axlsx/workbook/worksheet/page_setup.rb +21 -23
- data/lib/axlsx/workbook/worksheet/pane.rb +1 -3
- data/lib/axlsx/workbook/worksheet/pivot_table.rb +44 -28
- data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +4 -4
- data/lib/axlsx/workbook/worksheet/print_options.rb +1 -3
- data/lib/axlsx/workbook/worksheet/protected_range.rb +1 -3
- data/lib/axlsx/workbook/worksheet/protected_ranges.rb +5 -2
- data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -0
- data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -0
- data/lib/axlsx/workbook/worksheet/row.rb +42 -52
- data/lib/axlsx/workbook/worksheet/row_breaks.rb +2 -2
- data/lib/axlsx/workbook/worksheet/selection.rb +1 -3
- data/lib/axlsx/workbook/worksheet/sheet_data.rb +3 -1
- data/lib/axlsx/workbook/worksheet/sheet_pr.rb +21 -3
- data/lib/axlsx/workbook/worksheet/sheet_protection.rb +1 -3
- data/lib/axlsx/workbook/worksheet/table.rb +6 -6
- data/lib/axlsx/workbook/worksheet/table_style_info.rb +1 -3
- data/lib/axlsx/workbook/worksheet/tables.rb +4 -1
- data/lib/axlsx/workbook/worksheet/worksheet.rb +76 -81
- data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +10 -10
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +3 -3
- data/lib/caxlsx.rb +2 -0
- data/test/drawing/tc_area_chart.rb +39 -0
- data/test/drawing/tc_area_series.rb +71 -0
- data/test/drawing/tc_axis.rb +27 -0
- data/test/drawing/tc_bar_chart.rb +71 -0
- data/test/drawing/tc_bubble_chart.rb +44 -0
- data/test/drawing/tc_bubble_series.rb +21 -0
- data/test/drawing/tc_chart.rb +23 -10
- data/test/drawing/tc_data_source.rb +6 -0
- data/test/drawing/tc_drawing.rb +4 -4
- data/test/drawing/tc_hyperlink.rb +1 -1
- data/test/drawing/tc_line_chart.rb +5 -5
- data/test/drawing/tc_line_series.rb +47 -6
- data/test/drawing/tc_one_cell_anchor.rb +1 -1
- data/test/drawing/tc_pic.rb +11 -15
- data/test/drawing/tc_pie_series.rb +2 -1
- data/test/drawing/tc_scatter_series.rb +36 -1
- data/test/drawing/tc_series_title.rb +21 -0
- data/test/drawing/tc_str_val.rb +9 -0
- data/test/drawing/tc_title.rb +21 -0
- data/test/fixtures/image1.gif +0 -0
- data/test/fixtures/image1.jpeg +0 -0
- data/test/fixtures/image1.jpg +0 -0
- data/test/fixtures/image1.png +0 -0
- data/test/fixtures/image1_fake.jpg +0 -0
- data/test/rels/tc_relationship.rb +8 -0
- data/test/stylesheet/tc_font.rb +14 -2
- data/test/stylesheet/tc_styles.rb +29 -3
- data/test/tc_axlsx.rb +37 -0
- data/test/tc_helper.rb +2 -0
- data/test/tc_package.rb +50 -13
- data/test/util/tc_mime_type_utils.rb +13 -0
- data/test/util/tc_simple_typed_list.rb +2 -3
- data/test/util/tc_validators.rb +35 -11
- data/test/workbook/tc_defined_name.rb +12 -4
- data/test/workbook/tc_shared_strings_table.rb +16 -1
- data/test/workbook/tc_workbook.rb +38 -3
- data/test/workbook/tc_workbook_view.rb +50 -0
- data/test/workbook/worksheet/auto_filter/tc_filters.rb +1 -1
- data/test/workbook/worksheet/tc_break.rb +1 -1
- data/test/workbook/worksheet/tc_cell.rb +143 -9
- data/test/workbook/worksheet/tc_col.rb +18 -3
- data/test/workbook/worksheet/tc_conditional_formatting.rb +2 -2
- data/test/workbook/worksheet/tc_data_bar.rb +1 -1
- data/test/workbook/worksheet/tc_data_validation.rb +11 -11
- data/test/workbook/worksheet/tc_header_footer.rb +2 -2
- data/test/workbook/worksheet/tc_icon_set.rb +1 -1
- data/test/workbook/worksheet/tc_outline_pr.rb +19 -0
- data/test/workbook/worksheet/tc_page_setup.rb +3 -3
- data/test/workbook/worksheet/tc_pivot_table.rb +21 -6
- data/test/workbook/worksheet/tc_print_options.rb +1 -1
- data/test/workbook/worksheet/tc_rich_text.rb +44 -0
- data/test/workbook/worksheet/tc_rich_text_run.rb +173 -0
- data/test/workbook/worksheet/tc_row.rb +24 -2
- data/test/workbook/worksheet/tc_sheet_calc_pr.rb +1 -1
- data/test/workbook/worksheet/tc_sheet_format_pr.rb +4 -4
- data/test/workbook/worksheet/tc_sheet_pr.rb +26 -4
- data/test/workbook/worksheet/tc_sheet_protection.rb +5 -5
- data/test/workbook/worksheet/tc_sheet_view.rb +4 -4
- data/test/workbook/worksheet/tc_table.rb +2 -3
- data/test/workbook/worksheet/tc_worksheet.rb +123 -60
- metadata +180 -128
- data/examples/2010_comments.rb +0 -17
- data/examples/anchor_swapping.rb +0 -28
- data/examples/auto_filter.rb +0 -16
- data/examples/basic_charts.rb +0 -58
- data/examples/chart_colors.rb +0 -88
- data/examples/colored_links.rb +0 -59
- data/examples/conditional_formatting/example_conditional_formatting.rb +0 -74
- data/examples/conditional_formatting/getting_barred.rb +0 -37
- data/examples/conditional_formatting/hitting_the_high_notes.rb +0 -37
- data/examples/conditional_formatting/scaled_colors.rb +0 -39
- data/examples/conditional_formatting/stop_and_go.rb +0 -37
- data/examples/data_validation.rb +0 -50
- data/examples/example.rb +0 -777
- data/examples/extractive.rb +0 -45
- data/examples/ios_preview.rb +0 -14
- data/examples/page_setup.rb +0 -11
- data/examples/pivot_table.rb +0 -39
- data/examples/sheet_protection.rb +0 -10
- data/examples/skydrive/real_example.rb +0 -63
- data/examples/styles.rb +0 -66
- data/examples/underline.rb +0 -13
- data/examples/wrap_text.rb +0 -21
- data/lib/axlsx/util/parser.rb +0 -44
@@ -2,9 +2,9 @@
|
|
2
2
|
require 'tc_helper.rb'
|
3
3
|
|
4
4
|
# <xsd:complexType name="CT_SheetProtection">
|
5
|
-
# <xsd:attribute name="sheet" type="xsd:boolean" use="optional" default=
|
6
|
-
# <xsd:attribute name="objects" type="xsd:boolean" use="optional" default=
|
7
|
-
# <xsd:attribute name="scenarios" type="xsd:boolean" use="optional" default=
|
5
|
+
# <xsd:attribute name="sheet" type="xsd:boolean" use="optional" default=0/>
|
6
|
+
# <xsd:attribute name="objects" type="xsd:boolean" use="optional" default=0/>
|
7
|
+
# <xsd:attribute name="scenarios" type="xsd:boolean" use="optional" default=0/>
|
8
8
|
# <xsd:attribute name="formatCells" type="xsd:boolean" use="optional" default="true"/>
|
9
9
|
# <xsd:attribute name="formatColumns" type="xsd:boolean" use="optional" default="true"/>
|
10
10
|
# <xsd:attribute name="formatRows" type="xsd:boolean" use="optional" default="true"/>
|
@@ -13,11 +13,11 @@ require 'tc_helper.rb'
|
|
13
13
|
# <xsd:attribute name="insertHyperlinks" type="xsd:boolean" use="optional" default="true"/>
|
14
14
|
# <xsd:attribute name="deleteColumns" type="xsd:boolean" use="optional" default="true"/>
|
15
15
|
# <xsd:attribute name="deleteRows" type="xsd:boolean" use="optional" default="true"/>
|
16
|
-
# <xsd:attribute name="selectLockedCells" type="xsd:boolean" use="optional" default=
|
16
|
+
# <xsd:attribute name="selectLockedCells" type="xsd:boolean" use="optional" default=0/>
|
17
17
|
# <xsd:attribute name="sort" type="xsd:boolean" use="optional" default="true"/>
|
18
18
|
# <xsd:attribute name="autoFilter" type="xsd:boolean" use="optional" default="true"/>
|
19
19
|
# <xsd:attribute name="pivotTables" type="xsd:boolean" use="optional" default="true"/>
|
20
|
-
# <xsd:attribute name="selectUnlockedCells" type="xsd:boolean" use="optional" default=
|
20
|
+
# <xsd:attribute name="selectUnlockedCells" type="xsd:boolean" use="optional" default=0/>
|
21
21
|
# <xsd:attribute name="password" type="xsd:string" use="optional" default="nil"/>
|
22
22
|
# </xsd:complexType>
|
23
23
|
|
@@ -197,11 +197,11 @@ class TestSheetView < Test::Unit::TestCase
|
|
197
197
|
|
198
198
|
doc = Nokogiri::XML.parse(@ws.sheet_view.to_xml_string)
|
199
199
|
|
200
|
-
assert_equal(1, doc.xpath("//sheetView[@tabSelected=
|
200
|
+
assert_equal(1, doc.xpath("//sheetView[@tabSelected=0]").size)
|
201
201
|
|
202
|
-
assert_equal(1, doc.xpath("//sheetView[@tabSelected=
|
203
|
-
[@rightToLeft=
|
204
|
-
[@showRowColHeaders=
|
202
|
+
assert_equal(1, doc.xpath("//sheetView[@tabSelected=0][@showWhiteSpace=0][@showOutlineSymbols=0][@showFormulas=0]
|
203
|
+
[@rightToLeft=0][@windowProtection=0][@showZeros=1][@showRuler=1]
|
204
|
+
[@showRowColHeaders=1][@showGridLines=1][@defaultGridColor=1]
|
205
205
|
[@zoomScale='100'][@workbookViewId='0'][@zoomScaleSheetLayoutView='0'][@zoomScalePageLayoutView='0']
|
206
206
|
[@zoomScaleNormal='0'][@view='pageBreakPreview']").size)
|
207
207
|
end
|
@@ -47,9 +47,9 @@ class TestTable < Test::Unit::TestCase
|
|
47
47
|
|
48
48
|
def test_relationships
|
49
49
|
assert(@ws.relationships.empty?)
|
50
|
-
|
50
|
+
@ws.add_table("A1:D5")
|
51
51
|
assert_equal(@ws.relationships.size, 1, "adding a table adds a relationship")
|
52
|
-
|
52
|
+
@ws.add_table("F1:J5")
|
53
53
|
assert_equal(@ws.relationships.size, 2, "adding a table adds a relationship")
|
54
54
|
end
|
55
55
|
|
@@ -64,5 +64,4 @@ class TestTable < Test::Unit::TestCase
|
|
64
64
|
end
|
65
65
|
assert(errors.empty?, "error free validation")
|
66
66
|
end
|
67
|
-
|
68
67
|
end
|
@@ -29,6 +29,30 @@ class TestWorksheet < Test::Unit::TestCase
|
|
29
29
|
assert_raises(ArgumentError) { @ws.name = 'foo?bar' }
|
30
30
|
end
|
31
31
|
|
32
|
+
def test_name_unique
|
33
|
+
assert_raise(ArgumentError, "worksheet name must be unique") { n = @ws.name; @ws.workbook.add_worksheet(:name=> n) }
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_name_unique_only_checks_other_worksheet_names
|
37
|
+
assert_nothing_raised { @ws.name = @ws.name }
|
38
|
+
assert_nothing_raised { Axlsx::Package.new.workbook.add_worksheet :name => 'Sheet1' }
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_exception_if_name_too_long
|
42
|
+
assert_nothing_raised { @ws.name = 'x' * 31 }
|
43
|
+
assert_raises(ArgumentError) { @ws.name = 'x' * 32 }
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_exception_if_name_too_long_because_of_multibyte_characters
|
47
|
+
four_characters_for_excel = "\u{1F1EB 1F1F7}" # french flag emoji
|
48
|
+
assert_raises(ArgumentError, "name too long!") do
|
49
|
+
@ws.name = four_characters_for_excel + "x" * 28
|
50
|
+
end
|
51
|
+
assert_nothing_raised { @ws.name = "#{four_characters_for_excel}123456789012345678901234567" }
|
52
|
+
assert_nothing_raised { @ws.name = "123456789012345678901234567890…" }
|
53
|
+
assert_nothing_raised { @ws.name = "123456789012345678901234567890✔" }
|
54
|
+
end
|
55
|
+
|
32
56
|
def test_page_margins
|
33
57
|
assert(@ws.page_margins.is_a? Axlsx::PageMargins)
|
34
58
|
end
|
@@ -73,6 +97,15 @@ class TestWorksheet < Test::Unit::TestCase
|
|
73
97
|
end
|
74
98
|
end
|
75
99
|
|
100
|
+
def test_state
|
101
|
+
assert_equal(:visible, @ws.state)
|
102
|
+
end
|
103
|
+
|
104
|
+
def test_state_validation
|
105
|
+
assert_raise(ArgumentError) { @ws.state = :dead }
|
106
|
+
assert_nothing_raised { @ws.state = :very_hidden }
|
107
|
+
end
|
108
|
+
|
76
109
|
def test_no_autowidth
|
77
110
|
@ws.workbook.use_autowidth = false
|
78
111
|
@ws.add_row [1,2,3,4]
|
@@ -84,7 +117,7 @@ class TestWorksheet < Test::Unit::TestCase
|
|
84
117
|
page_setup = {:fit_to_height => 1, :fit_to_width => 1, :orientation => :landscape, :paper_width => "210mm", :paper_height => "297mm", :scale => 80}
|
85
118
|
print_options = {:grid_lines => true, :headings => true, :horizontal_centered => true, :vertical_centered => true}
|
86
119
|
header_footer = {:different_first => false, :different_odd_even => false, :odd_header => 'Header'}
|
87
|
-
optioned = @ws.workbook.add_worksheet(:name => 'bob', :page_margins => page_margins, :page_setup => page_setup, :print_options => print_options, :header_footer => header_footer
|
120
|
+
optioned = @ws.workbook.add_worksheet(:name => 'bob', :page_margins => page_margins, :page_setup => page_setup, :print_options => print_options, :header_footer => header_footer)
|
88
121
|
page_margins.keys.each do |key|
|
89
122
|
assert_equal(page_margins[key], optioned.page_margins.send(key))
|
90
123
|
end
|
@@ -98,23 +131,21 @@ class TestWorksheet < Test::Unit::TestCase
|
|
98
131
|
assert_equal(header_footer[key], optioned.header_footer.send(key))
|
99
132
|
end
|
100
133
|
assert_equal(optioned.name, 'bob')
|
101
|
-
assert_equal(optioned.selected, true)
|
102
|
-
assert_equal(optioned.show_gridlines, false)
|
103
134
|
|
104
135
|
end
|
105
136
|
|
106
137
|
|
107
|
-
def test_use_gridlines
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
end
|
138
|
+
# def test_use_gridlines
|
139
|
+
# assert_raise(ArgumentError) { @ws.show_gridlines = -1.1 }
|
140
|
+
# assert_nothing_raised { @ws.show_gridlines = false }
|
141
|
+
# assert_equal(@ws.show_gridlines, false)
|
142
|
+
# end
|
112
143
|
|
113
|
-
def test_selected
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
end
|
144
|
+
# def test_selected
|
145
|
+
# assert_raise(ArgumentError) { @ws.selected = -1.1 }
|
146
|
+
# assert_nothing_raised { @ws.selected = true }
|
147
|
+
# assert_equal(@ws.selected, true)
|
148
|
+
# end
|
118
149
|
|
119
150
|
def test_rels_pn
|
120
151
|
assert_equal(@ws.rels_pn, "worksheets/_rels/sheet1.xml.rels")
|
@@ -257,11 +288,11 @@ class TestWorksheet < Test::Unit::TestCase
|
|
257
288
|
end
|
258
289
|
end
|
259
290
|
|
260
|
-
def test_to_xml_string_fit_to_page
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
end
|
291
|
+
# def test_to_xml_string_fit_to_page
|
292
|
+
# @ws.page_setup.fit_to_width = 1
|
293
|
+
# doc = Nokogiri::XML(@ws.to_xml_string)
|
294
|
+
# assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetPr/xmlns:pageSetUpPr[@fitToPage=1]').size, 1)
|
295
|
+
# end
|
265
296
|
|
266
297
|
def test_to_xml_string_dimensions
|
267
298
|
@ws.add_row [1,2,3]
|
@@ -269,22 +300,22 @@ class TestWorksheet < Test::Unit::TestCase
|
|
269
300
|
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:dimension[@ref="A1:C1"]').size, 1)
|
270
301
|
end
|
271
302
|
|
272
|
-
def test_fit_to_page_assignation_does_nothing
|
273
|
-
|
274
|
-
|
275
|
-
end
|
303
|
+
# def test_fit_to_page_assignation_does_nothing
|
304
|
+
# @ws.fit_to_page = true
|
305
|
+
# assert_equal(@ws.fit_to_page?, false)
|
306
|
+
# end
|
276
307
|
|
277
|
-
def test_to_xml_string_selected
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
end
|
308
|
+
# def test_to_xml_string_selected
|
309
|
+
# @ws.selected = true
|
310
|
+
# doc = Nokogiri::XML(@ws.to_xml_string)
|
311
|
+
# assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetViews/xmlns:sheetView[@tabSelected=1]').size, 1)
|
312
|
+
# end
|
282
313
|
|
283
|
-
def test_to_xml_string_show_gridlines
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
end
|
314
|
+
# def test_to_xml_string_show_gridlines
|
315
|
+
# @ws.show_gridlines = false
|
316
|
+
# doc = Nokogiri::XML(@ws.to_xml_string)
|
317
|
+
# assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetViews/xmlns:sheetView[@showGridLines=0]').size, 1)
|
318
|
+
# end
|
288
319
|
|
289
320
|
def test_to_xml_string_auto_fit_data
|
290
321
|
@ws.add_row [1, "two"]
|
@@ -314,6 +345,13 @@ class TestWorksheet < Test::Unit::TestCase
|
|
314
345
|
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:mergeCells/xmlns:mergeCell[@ref="E1:F1"]').size, 1)
|
315
346
|
end
|
316
347
|
|
348
|
+
def test_to_xml_string_merge_cells_row
|
349
|
+
row = @ws.add_row [1, "two"]
|
350
|
+
@ws.merge_cells row
|
351
|
+
doc = Nokogiri::XML(@ws.to_xml_string)
|
352
|
+
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:mergeCells/xmlns:mergeCell[@ref="A1:B1"]').size, 1)
|
353
|
+
end
|
354
|
+
|
317
355
|
def test_to_xml_string_row_breaks
|
318
356
|
@ws.add_page_break("A1")
|
319
357
|
doc = Nokogiri::XML(@ws.to_xml_string)
|
@@ -350,7 +388,7 @@ class TestWorksheet < Test::Unit::TestCase
|
|
350
388
|
po.horizontal_centered = true
|
351
389
|
end
|
352
390
|
doc = Nokogiri::XML(@ws.to_xml_string)
|
353
|
-
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:printOptions[@gridLines=
|
391
|
+
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:printOptions[@gridLines=1][@horizontalCentered=1]').size, 1)
|
354
392
|
end
|
355
393
|
|
356
394
|
def test_to_xml_string_header_footer
|
@@ -360,7 +398,7 @@ class TestWorksheet < Test::Unit::TestCase
|
|
360
398
|
hf.odd_header = 'Test Header'
|
361
399
|
end
|
362
400
|
doc = Nokogiri::XML(@ws.to_xml_string)
|
363
|
-
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:headerFooter[@differentFirst=
|
401
|
+
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:headerFooter[@differentFirst=0][@differentOddEven=0]').size, 1)
|
364
402
|
end
|
365
403
|
|
366
404
|
def test_to_xml_string_drawing
|
@@ -389,10 +427,13 @@ class TestWorksheet < Test::Unit::TestCase
|
|
389
427
|
end
|
390
428
|
|
391
429
|
def test_to_xml_string_with_illegal_chars
|
430
|
+
old = Axlsx::trust_input
|
431
|
+
Axlsx::trust_input = false
|
392
432
|
nasties = "\v\u2028\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u001f"
|
393
433
|
@ws.add_row [nasties]
|
394
434
|
assert_equal(0, @ws.rows.last.cells.last.value.index("\v"))
|
395
|
-
assert_equal(nil
|
435
|
+
assert_equal(nil, @ws.to_xml_string.index("\v"))
|
436
|
+
Axlsx::trust_input = old
|
396
437
|
end
|
397
438
|
|
398
439
|
def test_to_xml_string_with_newlines
|
@@ -420,31 +461,16 @@ class TestWorksheet < Test::Unit::TestCase
|
|
420
461
|
def test_relationships
|
421
462
|
@ws.add_row [1,2,3]
|
422
463
|
assert(@ws.relationships.empty?, "No Drawing relationship until you add a chart")
|
423
|
-
|
464
|
+
@ws.add_chart Axlsx::Pie3DChart
|
424
465
|
assert_equal(@ws.relationships.size, 1, "adding a chart creates the relationship")
|
425
|
-
|
466
|
+
@ws.add_chart Axlsx::Pie3DChart
|
426
467
|
assert_equal(@ws.relationships.size, 1, "multiple charts still only result in one relationship")
|
427
|
-
|
428
|
-
assert_equal(@ws.relationships.size,
|
429
|
-
|
430
|
-
assert_equal(@ws.relationships.size,
|
431
|
-
|
432
|
-
assert_equal(@ws.relationships.size,
|
433
|
-
end
|
434
|
-
|
435
|
-
|
436
|
-
def test_name_unique
|
437
|
-
assert_raise(ArgumentError, "worksheet name must be unique") { n = @ws.name; @ws.workbook.add_worksheet(:name=> n) }
|
438
|
-
end
|
439
|
-
|
440
|
-
def test_name_unique_only_checks_other_worksheet_names
|
441
|
-
assert_nothing_raised { @ws.name = @ws.name }
|
442
|
-
assert_nothing_raised { Axlsx::Package.new.workbook.add_worksheet :name => 'Sheet1' }
|
443
|
-
end
|
444
|
-
|
445
|
-
def test_name_size
|
446
|
-
assert_raise(ArgumentError, "name too long!") { @ws.name = Array.new(32, "A").join() }
|
447
|
-
assert_nothing_raised { @ws.name = Array.new(31, "A").join() }
|
468
|
+
@ws.add_comment :text => 'builder', :author => 'bob', :ref => @ws.rows.last.cells.last
|
469
|
+
assert_equal(@ws.relationships.size, 3, "adding a comment adds 2 relationships")
|
470
|
+
@ws.add_comment :text => 'not that is a comment!', :author => 'travis', :ref => "A1"
|
471
|
+
assert_equal(@ws.relationships.size, 3, "adding multiple comments in the same worksheet should not add any additional comment relationships")
|
472
|
+
@ws.add_pivot_table 'G5:G6', 'A1:D10'
|
473
|
+
assert_equal(@ws.relationships.size, 4, "adding a pivot table adds 1 relationship")
|
448
474
|
end
|
449
475
|
|
450
476
|
def test_set_fixed_width_column
|
@@ -464,7 +490,7 @@ class TestWorksheet < Test::Unit::TestCase
|
|
464
490
|
@ws.column_widths nil, 0.5
|
465
491
|
assert_equal(@ws.column_info[1].width, 0.5, 'eat my width')
|
466
492
|
assert_raise(ArgumentError, 'only accept unsigned ints') { @ws.column_widths 2, 7, -1 }
|
467
|
-
assert_raise(ArgumentError, 'only accept Integer
|
493
|
+
assert_raise(ArgumentError, 'only accept Integer or Float') { @ws.column_widths 2, 7, "-1" }
|
468
494
|
end
|
469
495
|
|
470
496
|
def test_protect_range
|
@@ -501,16 +527,43 @@ class TestWorksheet < Test::Unit::TestCase
|
|
501
527
|
|
502
528
|
def test_auto_filter
|
503
529
|
assert(@ws.auto_filter.range.nil?)
|
530
|
+
assert(@wb.defined_names.none?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'})
|
504
531
|
assert_raise(ArgumentError) { @ws.auto_filter = 123 }
|
505
532
|
@ws.auto_filter.range = "A1:D9"
|
506
533
|
assert_equal(@ws.auto_filter.range, "A1:D9")
|
534
|
+
@ws.to_xml_string
|
535
|
+
assert(@wb.defined_names.any?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'})
|
507
536
|
end
|
508
537
|
|
538
|
+
def test_auto_filter_assign
|
539
|
+
other_ws = @wb.add_worksheet
|
540
|
+
|
541
|
+
assert(@ws.auto_filter.range.nil?)
|
542
|
+
assert(other_ws.auto_filter.range.nil?)
|
543
|
+
assert(@wb.defined_names.none?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'})
|
544
|
+
assert_raise(ArgumentError) { @ws.auto_filter = 123 }
|
545
|
+
|
546
|
+
@ws.auto_filter = "A1:D9"
|
547
|
+
assert_equal(@ws.auto_filter.range, "A1:D9")
|
548
|
+
|
549
|
+
other_ws.auto_filter = "A1:D2"
|
550
|
+
assert_equal(other_ws.auto_filter.range, "A1:D2")
|
551
|
+
|
552
|
+
@ws.to_xml_string
|
553
|
+
other_ws.to_xml_string
|
554
|
+
|
555
|
+
filter_database = @wb.defined_names.select{|defined_name| defined_name.name=='_xlnm._FilterDatabase'}
|
556
|
+
assert_equal(2, filter_database.size)
|
557
|
+
assert_equal(@ws.index, filter_database[0].local_sheet_id)
|
558
|
+
assert_equal(other_ws.index, filter_database[1].local_sheet_id)
|
559
|
+
end
|
560
|
+
|
561
|
+
|
509
562
|
def test_sheet_pr_for_auto_filter
|
510
563
|
@ws.auto_filter.range = 'A1:D9'
|
511
564
|
@ws.auto_filter.add_column 0, :filters, :filter_items => [1]
|
512
565
|
doc = Nokogiri::XML(@ws.to_xml_string)
|
513
|
-
assert(doc.xpath('//sheetPr[@filterMode=
|
566
|
+
assert(doc.xpath('//sheetPr[@filterMode=1]'))
|
514
567
|
end
|
515
568
|
|
516
569
|
def test_outline_level_rows
|
@@ -535,4 +588,14 @@ class TestWorksheet < Test::Unit::TestCase
|
|
535
588
|
assert_equal(1, @wb.worksheets.size)
|
536
589
|
end
|
537
590
|
|
591
|
+
def test_worksheet_only_includes_outline_pr_when_set
|
592
|
+
doc = Nokogiri::XML(@ws.to_xml_string)
|
593
|
+
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetPr/xmlns:outlinePr').size, 0)
|
594
|
+
|
595
|
+
@ws.sheet_pr.outline_pr.summary_below = false
|
596
|
+
@ws.sheet_pr.outline_pr.summary_right = true
|
597
|
+
doc = Nokogiri::XML(@ws.to_xml_string)
|
598
|
+
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetPr/xmlns:outlinePr').size, 1)
|
599
|
+
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetPr/xmlns:outlinePr[@summaryBelow=0][@summaryRight=1]').size, 1)
|
600
|
+
end
|
538
601
|
end
|
metadata
CHANGED
@@ -1,101 +1,132 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caxlsx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Randy Morgan
|
8
8
|
- Jurriaan Pruis
|
9
|
-
- Noel Peden
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2021-01-05 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: nokogiri
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
17
|
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '1.10'
|
19
21
|
- - ">="
|
20
22
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.4
|
23
|
+
version: 1.10.4
|
22
24
|
type: :runtime
|
23
25
|
prerelease: false
|
24
26
|
version_requirements: !ruby/object:Gem::Requirement
|
25
27
|
requirements:
|
28
|
+
- - "~>"
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '1.10'
|
26
31
|
- - ">="
|
27
32
|
- !ruby/object:Gem::Version
|
28
|
-
version: 1.4
|
33
|
+
version: 1.10.4
|
29
34
|
- !ruby/object:Gem::Dependency
|
30
35
|
name: rubyzip
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.3.0
|
41
|
+
- - "<"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '3'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 1.3.0
|
51
|
+
- - "<"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '3'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: htmlentities
|
31
56
|
requirement: !ruby/object:Gem::Requirement
|
32
57
|
requirements:
|
33
58
|
- - "~>"
|
34
59
|
- !ruby/object:Gem::Version
|
35
|
-
version: '
|
60
|
+
version: '4.3'
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 4.3.4
|
36
64
|
type: :runtime
|
37
65
|
prerelease: false
|
38
66
|
version_requirements: !ruby/object:Gem::Requirement
|
39
67
|
requirements:
|
40
68
|
- - "~>"
|
41
69
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
70
|
+
version: '4.3'
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 4.3.4
|
43
74
|
- !ruby/object:Gem::Dependency
|
44
|
-
name:
|
75
|
+
name: mimemagic
|
45
76
|
requirement: !ruby/object:Gem::Requirement
|
46
77
|
requirements:
|
47
78
|
- - "~>"
|
48
79
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
80
|
+
version: '0.3'
|
50
81
|
type: :runtime
|
51
82
|
prerelease: false
|
52
83
|
version_requirements: !ruby/object:Gem::Requirement
|
53
84
|
requirements:
|
54
85
|
- - "~>"
|
55
86
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
87
|
+
version: '0.3'
|
57
88
|
- !ruby/object:Gem::Dependency
|
58
89
|
name: yard
|
59
90
|
requirement: !ruby/object:Gem::Requirement
|
60
91
|
requirements:
|
61
|
-
- - "
|
92
|
+
- - "~>"
|
62
93
|
- !ruby/object:Gem::Version
|
63
|
-
version:
|
94
|
+
version: 0.9.8
|
64
95
|
type: :development
|
65
96
|
prerelease: false
|
66
97
|
version_requirements: !ruby/object:Gem::Requirement
|
67
98
|
requirements:
|
68
|
-
- - "
|
99
|
+
- - "~>"
|
69
100
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
101
|
+
version: 0.9.8
|
71
102
|
- !ruby/object:Gem::Dependency
|
72
103
|
name: kramdown
|
73
104
|
requirement: !ruby/object:Gem::Requirement
|
74
105
|
requirements:
|
75
|
-
- - "
|
106
|
+
- - "~>"
|
76
107
|
- !ruby/object:Gem::Version
|
77
|
-
version: '
|
108
|
+
version: '2.3'
|
78
109
|
type: :development
|
79
110
|
prerelease: false
|
80
111
|
version_requirements: !ruby/object:Gem::Requirement
|
81
112
|
requirements:
|
82
|
-
- - "
|
113
|
+
- - "~>"
|
83
114
|
- !ruby/object:Gem::Version
|
84
|
-
version: '
|
115
|
+
version: '2.3'
|
85
116
|
- !ruby/object:Gem::Dependency
|
86
117
|
name: timecop
|
87
118
|
requirement: !ruby/object:Gem::Requirement
|
88
119
|
requirements:
|
89
120
|
- - "~>"
|
90
121
|
- !ruby/object:Gem::Version
|
91
|
-
version: 0.
|
122
|
+
version: 0.8.1
|
92
123
|
type: :development
|
93
124
|
prerelease: false
|
94
125
|
version_requirements: !ruby/object:Gem::Requirement
|
95
126
|
requirements:
|
96
127
|
- - "~>"
|
97
128
|
- !ruby/object:Gem::Version
|
98
|
-
version: 0.
|
129
|
+
version: 0.8.1
|
99
130
|
description: " xlsx spreadsheet generation with charts, images, automated column
|
100
131
|
width, customizable styles and full schema validation. Axlsx helps you create beautiful
|
101
132
|
Office Open XML Spreadsheet documents ( Excel, Google Spreadsheets, Numbers, LibreOffice)
|
@@ -114,29 +145,8 @@ files:
|
|
114
145
|
- LICENSE
|
115
146
|
- README.md
|
116
147
|
- Rakefile
|
117
|
-
- examples/
|
118
|
-
- examples/
|
119
|
-
- examples/auto_filter.rb
|
120
|
-
- examples/basic_charts.rb
|
121
|
-
- examples/chart_colors.rb
|
122
|
-
- examples/colored_links.rb
|
123
|
-
- examples/conditional_formatting/example_conditional_formatting.rb
|
124
|
-
- examples/conditional_formatting/getting_barred.rb
|
125
|
-
- examples/conditional_formatting/hitting_the_high_notes.rb
|
126
|
-
- examples/conditional_formatting/scaled_colors.rb
|
127
|
-
- examples/conditional_formatting/stop_and_go.rb
|
128
|
-
- examples/data_validation.rb
|
129
|
-
- examples/example.rb
|
130
|
-
- examples/extractive.rb
|
131
|
-
- examples/image1.jpeg
|
132
|
-
- examples/ios_preview.rb
|
133
|
-
- examples/page_setup.rb
|
134
|
-
- examples/pivot_table.rb
|
135
|
-
- examples/sheet_protection.rb
|
136
|
-
- examples/skydrive/real_example.rb
|
137
|
-
- examples/styles.rb
|
138
|
-
- examples/underline.rb
|
139
|
-
- examples/wrap_text.rb
|
148
|
+
- examples/assets/image1.jpeg
|
149
|
+
- examples/generate.rb
|
140
150
|
- lib/axlsx.rb
|
141
151
|
- lib/axlsx/content_type/abstract_content_type.rb
|
142
152
|
- lib/axlsx/content_type/content_type.rb
|
@@ -144,11 +154,16 @@ files:
|
|
144
154
|
- lib/axlsx/content_type/override.rb
|
145
155
|
- lib/axlsx/doc_props/app.rb
|
146
156
|
- lib/axlsx/doc_props/core.rb
|
157
|
+
- lib/axlsx/drawing/area_chart.rb
|
158
|
+
- lib/axlsx/drawing/area_series.rb
|
147
159
|
- lib/axlsx/drawing/ax_data_source.rb
|
148
160
|
- lib/axlsx/drawing/axes.rb
|
149
161
|
- lib/axlsx/drawing/axis.rb
|
150
162
|
- lib/axlsx/drawing/bar_3D_chart.rb
|
163
|
+
- lib/axlsx/drawing/bar_chart.rb
|
151
164
|
- lib/axlsx/drawing/bar_series.rb
|
165
|
+
- lib/axlsx/drawing/bubble_chart.rb
|
166
|
+
- lib/axlsx/drawing/bubble_series.rb
|
152
167
|
- lib/axlsx/drawing/cat_axis.rb
|
153
168
|
- lib/axlsx/drawing/chart.rb
|
154
169
|
- lib/axlsx/drawing/d_lbls.rb
|
@@ -204,17 +219,20 @@ files:
|
|
204
219
|
- lib/axlsx/stylesheet/xf.rb
|
205
220
|
- lib/axlsx/util/accessors.rb
|
206
221
|
- lib/axlsx/util/constants.rb
|
222
|
+
- lib/axlsx/util/mime_type_utils.rb
|
207
223
|
- lib/axlsx/util/options_parser.rb
|
208
|
-
- lib/axlsx/util/parser.rb
|
209
224
|
- lib/axlsx/util/serialized_attributes.rb
|
210
225
|
- lib/axlsx/util/simple_typed_list.rb
|
211
226
|
- lib/axlsx/util/storage.rb
|
212
227
|
- lib/axlsx/util/validators.rb
|
228
|
+
- lib/axlsx/util/zip_command.rb
|
213
229
|
- lib/axlsx/version.rb
|
214
230
|
- lib/axlsx/workbook/defined_name.rb
|
215
231
|
- lib/axlsx/workbook/defined_names.rb
|
216
232
|
- lib/axlsx/workbook/shared_strings_table.rb
|
217
233
|
- lib/axlsx/workbook/workbook.rb
|
234
|
+
- lib/axlsx/workbook/workbook_view.rb
|
235
|
+
- lib/axlsx/workbook/workbook_views.rb
|
218
236
|
- lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb
|
219
237
|
- lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb
|
220
238
|
- lib/axlsx/workbook/worksheet/auto_filter/filters.rb
|
@@ -240,6 +258,7 @@ files:
|
|
240
258
|
- lib/axlsx/workbook/worksheet/header_footer.rb
|
241
259
|
- lib/axlsx/workbook/worksheet/icon_set.rb
|
242
260
|
- lib/axlsx/workbook/worksheet/merged_cells.rb
|
261
|
+
- lib/axlsx/workbook/worksheet/outline_pr.rb
|
243
262
|
- lib/axlsx/workbook/worksheet/page_margins.rb
|
244
263
|
- lib/axlsx/workbook/worksheet/page_set_up_pr.rb
|
245
264
|
- lib/axlsx/workbook/worksheet/page_setup.rb
|
@@ -250,6 +269,8 @@ files:
|
|
250
269
|
- lib/axlsx/workbook/worksheet/print_options.rb
|
251
270
|
- lib/axlsx/workbook/worksheet/protected_range.rb
|
252
271
|
- lib/axlsx/workbook/worksheet/protected_ranges.rb
|
272
|
+
- lib/axlsx/workbook/worksheet/rich_text.rb
|
273
|
+
- lib/axlsx/workbook/worksheet/rich_text_run.rb
|
253
274
|
- lib/axlsx/workbook/worksheet/row.rb
|
254
275
|
- lib/axlsx/workbook/worksheet/row_breaks.rb
|
255
276
|
- lib/axlsx/workbook/worksheet/selection.rb
|
@@ -267,6 +288,7 @@ files:
|
|
267
288
|
- lib/axlsx/workbook/worksheet/worksheet_drawing.rb
|
268
289
|
- lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb
|
269
290
|
- lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb
|
291
|
+
- lib/caxlsx.rb
|
270
292
|
- lib/schema/dc.xsd
|
271
293
|
- lib/schema/dcmitype.xsd
|
272
294
|
- lib/schema/dcterms.xsd
|
@@ -308,10 +330,15 @@ files:
|
|
308
330
|
- test/content_type/tc_override.rb
|
309
331
|
- test/doc_props/tc_app.rb
|
310
332
|
- test/doc_props/tc_core.rb
|
333
|
+
- test/drawing/tc_area_chart.rb
|
334
|
+
- test/drawing/tc_area_series.rb
|
311
335
|
- test/drawing/tc_axes.rb
|
312
336
|
- test/drawing/tc_axis.rb
|
313
337
|
- test/drawing/tc_bar_3D_chart.rb
|
338
|
+
- test/drawing/tc_bar_chart.rb
|
314
339
|
- test/drawing/tc_bar_series.rb
|
340
|
+
- test/drawing/tc_bubble_chart.rb
|
341
|
+
- test/drawing/tc_bubble_series.rb
|
315
342
|
- test/drawing/tc_cat_axis.rb
|
316
343
|
- test/drawing/tc_cat_axis_data.rb
|
317
344
|
- test/drawing/tc_chart.rb
|
@@ -346,6 +373,11 @@ files:
|
|
346
373
|
- test/drawing/tc_view_3D.rb
|
347
374
|
- test/drawing/tc_vml_drawing.rb
|
348
375
|
- test/drawing/tc_vml_shape.rb
|
376
|
+
- test/fixtures/image1.gif
|
377
|
+
- test/fixtures/image1.jpeg
|
378
|
+
- test/fixtures/image1.jpg
|
379
|
+
- test/fixtures/image1.png
|
380
|
+
- test/fixtures/image1_fake.jpg
|
349
381
|
- test/profile.rb
|
350
382
|
- test/rels/tc_relationship.rb
|
351
383
|
- test/rels/tc_relationships.rb
|
@@ -370,12 +402,14 @@ files:
|
|
370
402
|
- test/tc_axlsx.rb
|
371
403
|
- test/tc_helper.rb
|
372
404
|
- test/tc_package.rb
|
405
|
+
- test/util/tc_mime_type_utils.rb
|
373
406
|
- test/util/tc_serialized_attributes.rb
|
374
407
|
- test/util/tc_simple_typed_list.rb
|
375
408
|
- test/util/tc_validators.rb
|
376
409
|
- test/workbook/tc_defined_name.rb
|
377
410
|
- test/workbook/tc_shared_strings_table.rb
|
378
411
|
- test/workbook/tc_workbook.rb
|
412
|
+
- test/workbook/tc_workbook_view.rb
|
379
413
|
- test/workbook/worksheet/auto_filter/tc_auto_filter.rb
|
380
414
|
- test/workbook/worksheet/auto_filter/tc_filter_column.rb
|
381
415
|
- test/workbook/worksheet/auto_filter/tc_filters.rb
|
@@ -392,6 +426,7 @@ files:
|
|
392
426
|
- test/workbook/worksheet/tc_date_time_converter.rb
|
393
427
|
- test/workbook/worksheet/tc_header_footer.rb
|
394
428
|
- test/workbook/worksheet/tc_icon_set.rb
|
429
|
+
- test/workbook/worksheet/tc_outline_pr.rb
|
395
430
|
- test/workbook/worksheet/tc_page_margins.rb
|
396
431
|
- test/workbook/worksheet/tc_page_set_up_pr.rb
|
397
432
|
- test/workbook/worksheet/tc_page_setup.rb
|
@@ -400,6 +435,8 @@ files:
|
|
400
435
|
- test/workbook/worksheet/tc_pivot_table_cache_definition.rb
|
401
436
|
- test/workbook/worksheet/tc_print_options.rb
|
402
437
|
- test/workbook/worksheet/tc_protected_range.rb
|
438
|
+
- test/workbook/worksheet/tc_rich_text.rb
|
439
|
+
- test/workbook/worksheet/tc_rich_text_run.rb
|
403
440
|
- test/workbook/worksheet/tc_row.rb
|
404
441
|
- test/workbook/worksheet/tc_selection.rb
|
405
442
|
- test/workbook/worksheet/tc_sheet_calc_pr.rb
|
@@ -423,124 +460,139 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
423
460
|
requirements:
|
424
461
|
- - ">="
|
425
462
|
- !ruby/object:Gem::Version
|
426
|
-
version:
|
463
|
+
version: '2.3'
|
427
464
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
428
465
|
requirements:
|
429
466
|
- - ">="
|
430
467
|
- !ruby/object:Gem::Version
|
431
468
|
version: '0'
|
432
469
|
requirements: []
|
433
|
-
rubygems_version: 3.0.
|
470
|
+
rubygems_version: 3.0.3
|
434
471
|
signing_key:
|
435
472
|
specification_version: 4
|
436
|
-
summary:
|
473
|
+
summary: Excel OOXML (xlsx) with charts, styles, images and autowidth columns.
|
437
474
|
test_files:
|
438
|
-
- test/
|
439
|
-
- test/
|
440
|
-
- test/
|
441
|
-
- test/
|
475
|
+
- test/benchmark.rb
|
476
|
+
- test/content_type/tc_content_type.rb
|
477
|
+
- test/content_type/tc_default.rb
|
478
|
+
- test/content_type/tc_override.rb
|
479
|
+
- test/doc_props/tc_app.rb
|
480
|
+
- test/doc_props/tc_core.rb
|
481
|
+
- test/drawing/tc_area_chart.rb
|
482
|
+
- test/drawing/tc_area_series.rb
|
483
|
+
- test/drawing/tc_axes.rb
|
484
|
+
- test/drawing/tc_axis.rb
|
485
|
+
- test/drawing/tc_bar_3D_chart.rb
|
486
|
+
- test/drawing/tc_bar_chart.rb
|
487
|
+
- test/drawing/tc_bar_series.rb
|
488
|
+
- test/drawing/tc_bubble_chart.rb
|
489
|
+
- test/drawing/tc_bubble_series.rb
|
442
490
|
- test/drawing/tc_cat_axis.rb
|
491
|
+
- test/drawing/tc_cat_axis_data.rb
|
443
492
|
- test/drawing/tc_chart.rb
|
444
|
-
- test/drawing/tc_num_val.rb
|
445
|
-
- test/drawing/tc_axis.rb
|
446
|
-
- test/drawing/tc_line_chart.rb
|
447
|
-
- test/drawing/tc_marker.rb
|
448
493
|
- test/drawing/tc_d_lbls.rb
|
449
|
-
- test/drawing/
|
494
|
+
- test/drawing/tc_data_source.rb
|
495
|
+
- test/drawing/tc_drawing.rb
|
496
|
+
- test/drawing/tc_graphic_frame.rb
|
497
|
+
- test/drawing/tc_hyperlink.rb
|
450
498
|
- test/drawing/tc_line_3d_chart.rb
|
451
|
-
- test/drawing/
|
499
|
+
- test/drawing/tc_line_chart.rb
|
452
500
|
- test/drawing/tc_line_series.rb
|
453
|
-
- test/drawing/
|
454
|
-
- test/drawing/tc_bar_series.rb
|
455
|
-
- test/drawing/tc_hyperlink.rb
|
456
|
-
- test/drawing/tc_pic.rb
|
501
|
+
- test/drawing/tc_marker.rb
|
457
502
|
- test/drawing/tc_named_axis_data.rb
|
458
|
-
- test/drawing/
|
459
|
-
- test/drawing/
|
503
|
+
- test/drawing/tc_num_data.rb
|
504
|
+
- test/drawing/tc_num_val.rb
|
505
|
+
- test/drawing/tc_one_cell_anchor.rb
|
506
|
+
- test/drawing/tc_pic.rb
|
507
|
+
- test/drawing/tc_picture_locking.rb
|
508
|
+
- test/drawing/tc_pie_3D_chart.rb
|
509
|
+
- test/drawing/tc_pie_series.rb
|
510
|
+
- test/drawing/tc_scaling.rb
|
460
511
|
- test/drawing/tc_scatter_chart.rb
|
512
|
+
- test/drawing/tc_scatter_series.rb
|
513
|
+
- test/drawing/tc_ser_axis.rb
|
461
514
|
- test/drawing/tc_series.rb
|
515
|
+
- test/drawing/tc_series_title.rb
|
516
|
+
- test/drawing/tc_str_data.rb
|
517
|
+
- test/drawing/tc_str_val.rb
|
462
518
|
- test/drawing/tc_title.rb
|
463
|
-
- test/drawing/
|
464
|
-
- test/drawing/tc_picture_locking.rb
|
465
|
-
- test/drawing/tc_pie_series.rb
|
466
|
-
- test/drawing/tc_vml_shape.rb
|
467
|
-
- test/drawing/tc_axes.rb
|
468
|
-
- test/drawing/tc_vml_drawing.rb
|
469
|
-
- test/drawing/tc_pie_3D_chart.rb
|
470
|
-
- test/drawing/tc_graphic_frame.rb
|
471
|
-
- test/drawing/tc_one_cell_anchor.rb
|
472
|
-
- test/drawing/tc_data_source.rb
|
519
|
+
- test/drawing/tc_two_cell_anchor.rb
|
473
520
|
- test/drawing/tc_val_axis.rb
|
474
|
-
- test/drawing/
|
475
|
-
- test/drawing/
|
476
|
-
- test/
|
477
|
-
- test/
|
478
|
-
- test/
|
479
|
-
- test/
|
480
|
-
- test/
|
521
|
+
- test/drawing/tc_view_3D.rb
|
522
|
+
- test/drawing/tc_vml_drawing.rb
|
523
|
+
- test/drawing/tc_vml_shape.rb
|
524
|
+
- test/fixtures/image1.gif
|
525
|
+
- test/fixtures/image1.jpeg
|
526
|
+
- test/fixtures/image1.jpg
|
527
|
+
- test/fixtures/image1.png
|
528
|
+
- test/fixtures/image1_fake.jpg
|
529
|
+
- test/profile.rb
|
530
|
+
- test/rels/tc_relationship.rb
|
531
|
+
- test/rels/tc_relationships.rb
|
481
532
|
- test/stylesheet/tc_border.rb
|
482
|
-
- test/stylesheet/tc_gradient_stop.rb
|
483
|
-
- test/stylesheet/tc_gradient_fill.rb
|
484
|
-
- test/stylesheet/tc_table_style.rb
|
485
|
-
- test/stylesheet/tc_font.rb
|
486
|
-
- test/stylesheet/tc_pattern_fill.rb
|
487
|
-
- test/stylesheet/tc_color.rb
|
488
|
-
- test/stylesheet/tc_num_fmt.rb
|
489
|
-
- test/stylesheet/tc_styles.rb
|
490
533
|
- test/stylesheet/tc_border_pr.rb
|
534
|
+
- test/stylesheet/tc_cell_alignment.rb
|
491
535
|
- test/stylesheet/tc_cell_protection.rb
|
492
|
-
- test/stylesheet/tc_xf.rb
|
493
536
|
- test/stylesheet/tc_cell_style.rb
|
494
|
-
- test/stylesheet/
|
537
|
+
- test/stylesheet/tc_color.rb
|
495
538
|
- test/stylesheet/tc_dxf.rb
|
539
|
+
- test/stylesheet/tc_fill.rb
|
540
|
+
- test/stylesheet/tc_font.rb
|
541
|
+
- test/stylesheet/tc_gradient_fill.rb
|
542
|
+
- test/stylesheet/tc_gradient_stop.rb
|
543
|
+
- test/stylesheet/tc_num_fmt.rb
|
544
|
+
- test/stylesheet/tc_pattern_fill.rb
|
545
|
+
- test/stylesheet/tc_styles.rb
|
546
|
+
- test/stylesheet/tc_table_style.rb
|
496
547
|
- test/stylesheet/tc_table_style_element.rb
|
497
|
-
- test/stylesheet/
|
548
|
+
- test/stylesheet/tc_table_styles.rb
|
549
|
+
- test/stylesheet/tc_xf.rb
|
550
|
+
- test/tc_axlsx.rb
|
498
551
|
- test/tc_helper.rb
|
499
|
-
- test/doc_props/tc_core.rb
|
500
|
-
- test/doc_props/tc_app.rb
|
501
|
-
- test/content_type/tc_override.rb
|
502
|
-
- test/content_type/tc_content_type.rb
|
503
|
-
- test/content_type/tc_default.rb
|
504
|
-
- test/rels/tc_relationship.rb
|
505
|
-
- test/rels/tc_relationships.rb
|
506
|
-
- test/profile.rb
|
507
|
-
- test/benchmark.rb
|
508
552
|
- test/tc_package.rb
|
553
|
+
- test/util/tc_mime_type_utils.rb
|
554
|
+
- test/util/tc_serialized_attributes.rb
|
555
|
+
- test/util/tc_simple_typed_list.rb
|
556
|
+
- test/util/tc_validators.rb
|
509
557
|
- test/workbook/tc_defined_name.rb
|
558
|
+
- test/workbook/tc_shared_strings_table.rb
|
559
|
+
- test/workbook/tc_workbook.rb
|
560
|
+
- test/workbook/tc_workbook_view.rb
|
561
|
+
- test/workbook/worksheet/auto_filter/tc_auto_filter.rb
|
562
|
+
- test/workbook/worksheet/auto_filter/tc_filter_column.rb
|
563
|
+
- test/workbook/worksheet/auto_filter/tc_filters.rb
|
564
|
+
- test/workbook/worksheet/tc_break.rb
|
565
|
+
- test/workbook/worksheet/tc_cell.rb
|
566
|
+
- test/workbook/worksheet/tc_cfvo.rb
|
567
|
+
- test/workbook/worksheet/tc_col.rb
|
568
|
+
- test/workbook/worksheet/tc_color_scale.rb
|
569
|
+
- test/workbook/worksheet/tc_comment.rb
|
570
|
+
- test/workbook/worksheet/tc_comments.rb
|
571
|
+
- test/workbook/worksheet/tc_conditional_formatting.rb
|
510
572
|
- test/workbook/worksheet/tc_data_bar.rb
|
511
|
-
- test/workbook/worksheet/tc_worksheet_hyperlink.rb
|
512
573
|
- test/workbook/worksheet/tc_data_validation.rb
|
574
|
+
- test/workbook/worksheet/tc_date_time_converter.rb
|
575
|
+
- test/workbook/worksheet/tc_header_footer.rb
|
576
|
+
- test/workbook/worksheet/tc_icon_set.rb
|
577
|
+
- test/workbook/worksheet/tc_outline_pr.rb
|
578
|
+
- test/workbook/worksheet/tc_page_margins.rb
|
579
|
+
- test/workbook/worksheet/tc_page_set_up_pr.rb
|
580
|
+
- test/workbook/worksheet/tc_page_setup.rb
|
581
|
+
- test/workbook/worksheet/tc_pane.rb
|
582
|
+
- test/workbook/worksheet/tc_pivot_table.rb
|
513
583
|
- test/workbook/worksheet/tc_pivot_table_cache_definition.rb
|
584
|
+
- test/workbook/worksheet/tc_print_options.rb
|
514
585
|
- test/workbook/worksheet/tc_protected_range.rb
|
586
|
+
- test/workbook/worksheet/tc_rich_text.rb
|
587
|
+
- test/workbook/worksheet/tc_rich_text_run.rb
|
588
|
+
- test/workbook/worksheet/tc_row.rb
|
515
589
|
- test/workbook/worksheet/tc_selection.rb
|
516
|
-
- test/workbook/worksheet/tc_date_time_converter.rb
|
517
|
-
- test/workbook/worksheet/tc_table_style_info.rb
|
518
|
-
- test/workbook/worksheet/tc_conditional_formatting.rb
|
519
|
-
- test/workbook/worksheet/tc_page_setup.rb
|
520
|
-
- test/workbook/worksheet/tc_comments.rb
|
521
|
-
- test/workbook/worksheet/tc_sheet_view.rb
|
522
590
|
- test/workbook/worksheet/tc_sheet_calc_pr.rb
|
523
|
-
- test/workbook/worksheet/
|
524
|
-
- test/workbook/worksheet/tc_worksheet.rb
|
591
|
+
- test/workbook/worksheet/tc_sheet_format_pr.rb
|
525
592
|
- test/workbook/worksheet/tc_sheet_pr.rb
|
526
|
-
- test/workbook/worksheet/auto_filter/tc_filters.rb
|
527
|
-
- test/workbook/worksheet/auto_filter/tc_auto_filter.rb
|
528
|
-
- test/workbook/worksheet/auto_filter/tc_filter_column.rb
|
529
|
-
- test/workbook/worksheet/tc_cell.rb
|
530
593
|
- test/workbook/worksheet/tc_sheet_protection.rb
|
531
|
-
- test/workbook/worksheet/
|
532
|
-
- test/workbook/worksheet/tc_header_footer.rb
|
594
|
+
- test/workbook/worksheet/tc_sheet_view.rb
|
533
595
|
- test/workbook/worksheet/tc_table.rb
|
534
|
-
- test/workbook/worksheet/
|
535
|
-
- test/workbook/worksheet/
|
536
|
-
- test/workbook/worksheet/
|
537
|
-
- test/workbook/worksheet/tc_pivot_table.rb
|
538
|
-
- test/workbook/worksheet/tc_break.rb
|
539
|
-
- test/workbook/worksheet/tc_sheet_format_pr.rb
|
540
|
-
- test/workbook/worksheet/tc_print_options.rb
|
541
|
-
- test/workbook/worksheet/tc_comment.rb
|
542
|
-
- test/workbook/worksheet/tc_row.rb
|
543
|
-
- test/workbook/worksheet/tc_icon_set.rb
|
544
|
-
- test/workbook/worksheet/tc_page_set_up_pr.rb
|
545
|
-
- test/workbook/tc_shared_strings_table.rb
|
546
|
-
- test/workbook/tc_workbook.rb
|
596
|
+
- test/workbook/worksheet/tc_table_style_info.rb
|
597
|
+
- test/workbook/worksheet/tc_worksheet.rb
|
598
|
+
- test/workbook/worksheet/tc_worksheet_hyperlink.rb
|