axlsx 1.2.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.yardopts +3 -2
- data/CHANGELOG.md +34 -1
- data/README.md +36 -30
- data/Rakefile +1 -1
- data/examples/auto_filter.rb +16 -0
- data/examples/auto_filter.xlsx +0 -0
- data/examples/basic_charts.rb +4 -0
- data/examples/example.rb +41 -13
- data/examples/example.xlsx +0 -0
- data/examples/example_streamed.xlsx +0 -0
- data/examples/extractive.xlsx +0 -0
- data/examples/hyperlinks.rb +23 -0
- data/examples/hyperlinks.xlsx +0 -0
- data/examples/no-use_autowidth.xlsx +0 -0
- data/examples/page_setup.rb +11 -0
- data/examples/page_setup.xlsx +0 -0
- data/examples/shared_strings_example.xlsx +0 -0
- data/examples/skydrive/axlsx.csv +1 -0
- data/examples/skydrive/axlsx.xlsx +0 -0
- data/examples/skydrive/real_example.rb +8 -8
- data/examples/sprk2012/Screen Shot 2012-09-11 at 10.42.06 PM.png +0 -0
- data/examples/sprk2012/Screen Shot 2012-09-11 at 11.07.48 PM.png +0 -0
- data/examples/sprk2012/Screen Shot 2012-09-11 at 8.31.50 PM.png +0 -0
- data/examples/sprk2012/Screen Shot 2012-09-11 at 9.23.27 PM.png +0 -0
- data/examples/sprk2012/Screen Shot 2012-09-11 at 9.32.06 PM.png +0 -0
- data/examples/sprk2012/Screen Shot 2012-09-11 at 9.33.35 PM.png +0 -0
- data/examples/sprk2012/Screen Shot 2012-09-11 at 9.46.44 PM.png +0 -0
- data/examples/sprk2012/Screen Shot 2012-09-12 at 5.07.23 PM.png +0 -0
- data/examples/sprk2012/basics.rb +11 -0
- data/examples/sprk2012/basics.xlsx +0 -0
- data/examples/sprk2012/gravatar.jpeg +0 -0
- data/examples/sprk2012/hair_club.jpg +0 -0
- data/examples/sprk2012/images.rb +9 -0
- data/examples/sprk2012/images.xlsx +0 -0
- data/examples/sprk2012/line_chart.rb +56 -0
- data/examples/sprk2012/line_chart.xlsx +0 -0
- data/examples/sprk2012/sprk2012.key +0 -0
- data/examples/sprk2012/styles.rb +20 -0
- data/examples/sprk2012/styles.xlsx +0 -0
- data/examples/styles.rb +62 -0
- data/examples/styles.xlsx +0 -0
- data/lib/axlsx/doc_props/app.rb +3 -3
- data/lib/axlsx/drawing/axis.rb +1 -1
- data/lib/axlsx/drawing/view_3D.rb +1 -1
- data/lib/axlsx/package.rb +0 -1
- data/lib/axlsx/stylesheet/styles.rb +10 -1
- data/lib/axlsx/util/constants.rb +105 -4
- data/lib/axlsx/util/simple_typed_list.rb +3 -1
- data/lib/axlsx/util/validators.rb +26 -8
- data/lib/axlsx/version.rb +2 -2
- data/lib/axlsx/workbook/workbook.rb +6 -1
- data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -0
- data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +102 -0
- data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +253 -0
- data/lib/axlsx/workbook/worksheet/cell.rb +10 -5
- data/lib/axlsx/workbook/worksheet/date_time_converter.rb +1 -1
- data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +47 -0
- data/lib/axlsx/workbook/worksheet/page_setup.rb +135 -7
- data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +49 -0
- data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -4
- data/lib/axlsx/workbook/worksheet/table.rb +8 -1
- data/lib/axlsx/workbook/worksheet/table_style_info.rb +68 -0
- data/lib/axlsx/workbook/worksheet/worksheet.rb +45 -7
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +101 -0
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -0
- data/lib/axlsx.rb +8 -1
- data/test/stylesheet/tc_styles.rb +13 -0
- data/test/tc_package.rb +1 -0
- data/test/util/tc_validators.rb +8 -1
- data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +38 -0
- data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +76 -0
- data/test/workbook/worksheet/auto_filter/tc_filters.rb +50 -0
- data/test/workbook/worksheet/tc_cell.rb +23 -1
- data/test/workbook/worksheet/tc_page_set_up_pr.rb +15 -0
- data/test/workbook/worksheet/tc_page_setup.rb +6 -1
- data/test/workbook/worksheet/tc_sheet_calc_pr.rb +18 -0
- data/test/workbook/worksheet/tc_sheet_pr.rb +27 -0
- data/test/workbook/worksheet/{table/tc_table.rb → tc_table.rb} +6 -1
- data/test/workbook/worksheet/tc_table_style_info.rb +53 -0
- data/test/workbook/worksheet/tc_worksheet.rb +17 -3
- data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +64 -0
- metadata +59 -6
- data/lib/axlsx/workbook/worksheet/auto_filter.rb +0 -34
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require 'tc_helper'
|
|
2
|
+
|
|
3
|
+
class TestSheetCalcPr < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@sheet_calc_pr = Axlsx::SheetCalcPr.new(:full_calc_on_load => false)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def test_full_calc_on_load
|
|
10
|
+
assert_equal false, @sheet_calc_pr.full_calc_on_load
|
|
11
|
+
assert Axlsx::SheetCalcPr.new.full_calc_on_load
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_to_xml_string
|
|
15
|
+
doc = Nokogiri::XML(@sheet_calc_pr.to_xml_string)
|
|
16
|
+
assert_equal 1, doc.xpath('//sheetCalcPr[@fullCalcOnLoad="false"]').size
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class TestSheetPr < Test::Unit::TestCase
|
|
5
|
+
|
|
6
|
+
def setup
|
|
7
|
+
worksheet = Axlsx::Package.new.workbook.add_worksheet
|
|
8
|
+
@options = {
|
|
9
|
+
:sync_horizontal => false,
|
|
10
|
+
:sync_vertical => false,
|
|
11
|
+
:transtion_evaluation => true,
|
|
12
|
+
:transition_entry => true,
|
|
13
|
+
:published => false,
|
|
14
|
+
:filter_mode => true,
|
|
15
|
+
:enable_format_conditions_calculation => false,
|
|
16
|
+
:code_name => '007',
|
|
17
|
+
:sync_ref => 'foo'
|
|
18
|
+
}
|
|
19
|
+
@sheet_pr = Axlsx::SheetPr.new(worksheet, @options)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_initialization
|
|
23
|
+
@options.each do |key, value|
|
|
24
|
+
assert_equal value, @sheet_pr.send(key)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -15,6 +15,12 @@ class TestTable < Test::Unit::TestCase
|
|
|
15
15
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
+
def test_table_style_info
|
|
19
|
+
table = @ws.add_table('A1:D5', :name => 'foo', :style_info => { :show_row_stripes => true, :name => "TableStyleMedium25" })
|
|
20
|
+
assert_equal('TableStyleMedium25', table.table_style_info.name)
|
|
21
|
+
assert_equal(true, table.table_style_info.show_row_stripes)
|
|
22
|
+
end
|
|
23
|
+
|
|
18
24
|
def test_add_table
|
|
19
25
|
name = "test"
|
|
20
26
|
table = @ws.add_table("A1:D5", :name => name)
|
|
@@ -22,7 +28,6 @@ class TestTable < Test::Unit::TestCase
|
|
|
22
28
|
assert_equal(@ws.workbook.tables.last, table, "must be added to workbook table collection")
|
|
23
29
|
assert_equal(@ws.tables.last, table, "must be added to worksheet table collection")
|
|
24
30
|
assert_equal(table.name, name, "options for name are applied")
|
|
25
|
-
|
|
26
31
|
end
|
|
27
32
|
|
|
28
33
|
def test_pn
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestTableStyleInfo < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
p = Axlsx::Package.new
|
|
6
|
+
@ws = p.workbook.add_worksheet
|
|
7
|
+
40.times do
|
|
8
|
+
@ws.add_row %w(aa bb cc dd ee ff gg hh ii jj kk)
|
|
9
|
+
end
|
|
10
|
+
@table = @ws.add_table(Axlsx::cell_range([@ws.rows.first.cells.first,@ws.rows.last.cells.last], false), :name => 'foo')
|
|
11
|
+
@options = { :show_first_column => 1,
|
|
12
|
+
:show_last_column => 1,
|
|
13
|
+
:show_row_stripes => 1,
|
|
14
|
+
:show_column_stripes => 1,
|
|
15
|
+
:name => "TableStyleDark4" }
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_initialize
|
|
21
|
+
table_style = Axlsx::TableStyleInfo.new @options
|
|
22
|
+
@options.each do |key, value|
|
|
23
|
+
assert_equal(value, table_style.send(key.to_sym))
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_boolean_properties
|
|
28
|
+
table_style = Axlsx::TableStyleInfo.new
|
|
29
|
+
@options.keys.each do |key|
|
|
30
|
+
assert_nothing_raised { table_style.send("#{key.to_sym}=", true) }
|
|
31
|
+
assert_raises(ArgumentError) { table_style.send(key.to_sym, 'foo') }
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
def doc
|
|
35
|
+
@doc ||= Nokogiri::XML(Axlsx::TableStyleInfo.new(@options).to_xml_string)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_to_xml_string_first_column
|
|
39
|
+
assert(doc.xpath('//tableStyleInfo[@showLastColumn=1]'))
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_to_xml_string_row_stripes
|
|
43
|
+
assert(doc.xpath('//tableStyleInfo[@showRowStripes=1]'))
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_to_xml_string_column_stripes
|
|
47
|
+
assert(doc.xpath('//tableStyleInfo[@showColumnStripes=1]'))
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def test_to_xml_string_name
|
|
51
|
+
assert(doc.xpath("//tableStyleInfo[@name=#{@options[:name]}]"))
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -246,7 +246,7 @@ class TestWorksheet < Test::Unit::TestCase
|
|
|
246
246
|
|
|
247
247
|
def test_to_xml_string_auto_filter
|
|
248
248
|
@ws.add_row [1, "two"]
|
|
249
|
-
@ws.auto_filter = "A1:B1"
|
|
249
|
+
@ws.auto_filter.range = "A1:B1"
|
|
250
250
|
doc = Nokogiri::XML(@ws.to_xml_string)
|
|
251
251
|
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:autoFilter[@ref="A1:B1"]').size, 1)
|
|
252
252
|
end
|
|
@@ -324,13 +324,20 @@ class TestWorksheet < Test::Unit::TestCase
|
|
|
324
324
|
assert_equal(0, @ws.rows.last.cells.last.value.index("\v"))
|
|
325
325
|
assert_equal(nil,@ws.to_xml_string.index("\v"))
|
|
326
326
|
end
|
|
327
|
+
|
|
328
|
+
def test_to_xml_string_with_newlines
|
|
329
|
+
cell_with_newline = "foo\n\r\nbar"
|
|
330
|
+
@ws.add_row [cell_with_newline]
|
|
331
|
+
assert_equal("foo\n\r\nbar", @ws.rows.last.cells.last.value)
|
|
332
|
+
assert_not_nil(@ws.to_xml_string.index("foo\n\r\nbar"))
|
|
333
|
+
end
|
|
327
334
|
# Make sure the XML for all optional elements (like pageMargins, autoFilter, ...)
|
|
328
335
|
# is generated in correct order.
|
|
329
336
|
def test_valid_with_optional_elements
|
|
330
337
|
@ws.page_margins.set :left => 9
|
|
331
338
|
@ws.page_setup.set :fit_to_width => 1
|
|
332
339
|
@ws.print_options.set :headings => true
|
|
333
|
-
@ws.auto_filter = "A1:C3"
|
|
340
|
+
@ws.auto_filter.range = "A1:C3"
|
|
334
341
|
@ws.merge_cells "A4:A5"
|
|
335
342
|
@ws.add_chart Axlsx::Pie3DChart
|
|
336
343
|
@ws.add_table "E1:F3"
|
|
@@ -417,7 +424,14 @@ class TestWorksheet < Test::Unit::TestCase
|
|
|
417
424
|
def test_auto_filter
|
|
418
425
|
assert(@ws.auto_filter.range.nil?)
|
|
419
426
|
assert_raise(ArgumentError) { @ws.auto_filter = 123 }
|
|
420
|
-
@ws.auto_filter = "A1:D9"
|
|
427
|
+
@ws.auto_filter.range = "A1:D9"
|
|
421
428
|
assert_equal(@ws.auto_filter.range, "A1:D9")
|
|
422
429
|
end
|
|
430
|
+
|
|
431
|
+
def test_sheet_pr_for_auto_filter
|
|
432
|
+
@ws.auto_filter.range = 'A1:D9'
|
|
433
|
+
@ws.auto_filter.add_column 0, :filters, :filter_items => [1]
|
|
434
|
+
doc = Nokogiri::XML(@ws.to_xml_string)
|
|
435
|
+
assert(doc.xpath('//sheetPr[@filterMode="true"]'))
|
|
436
|
+
end
|
|
423
437
|
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestWorksheetHyperlink < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
p = Axlsx::Package.new
|
|
6
|
+
wb = p.workbook
|
|
7
|
+
@ws = wb.add_worksheet
|
|
8
|
+
@options = { :location => 'https://github.com/randym/axlsx', :tooltip => 'axlsx', :ref => 'A1', :display => 'AXSLX', :target => :internal }
|
|
9
|
+
@a = @ws.add_hyperlink @options
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_initailize
|
|
13
|
+
assert_raise(ArgumentError) { Axlsx::WorksheetHyperlink.new }
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_location
|
|
17
|
+
assert_equal(@options[:location], @a.location)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_tooltip
|
|
21
|
+
assert_equal(@options[:tooltip], @a.tooltip)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_target
|
|
25
|
+
assert_equal(@options[:target], @a.instance_values['target'])
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_display
|
|
29
|
+
assert_equal(@options[:display], @a.display)
|
|
30
|
+
end
|
|
31
|
+
def test_ref
|
|
32
|
+
assert_equal(@options[:ref], @a.ref)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_id
|
|
36
|
+
@a.target = :external
|
|
37
|
+
|
|
38
|
+
assert_equal("rId1", @a.id)
|
|
39
|
+
@a.target = :internal
|
|
40
|
+
assert_equal(nil, @a.id)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def test_to_xml_string_with_non_external
|
|
45
|
+
doc = Nokogiri::XML(@ws.to_xml_string)
|
|
46
|
+
assert_equal(doc.xpath("//xmlns:hyperlink[@ref='#{@a.ref}']").size, 1)
|
|
47
|
+
assert_equal(doc.xpath("//xmlns:hyperlink[@tooltip='#{@a.tooltip}']").size, 1)
|
|
48
|
+
assert_equal(doc.xpath("//xmlns:hyperlink[@location='#{@a.location}']").size, 1)
|
|
49
|
+
assert_equal(doc.xpath("//xmlns:hyperlink[@display='#{@a.display}']").size, 1)
|
|
50
|
+
assert_equal(doc.xpath("//xmlns:hyperlink[@r:id='#{@a.id}']").size, 0)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def test_to_xml_stirng_with_external
|
|
54
|
+
@a.target = :external
|
|
55
|
+
doc = Nokogiri::XML(@ws.to_xml_string)
|
|
56
|
+
assert_equal(doc.xpath("//xmlns:hyperlink[@ref='#{@a.ref}']").size, 1)
|
|
57
|
+
assert_equal(doc.xpath("//xmlns:hyperlink[@tooltip='#{@a.tooltip}']").size, 1)
|
|
58
|
+
assert_equal(doc.xpath("//xmlns:hyperlink[@display='#{@a.display}']").size, 1)
|
|
59
|
+
assert_equal(doc.xpath("//xmlns:hyperlink[@location='#{@a.location}']").size, 0)
|
|
60
|
+
assert_equal(doc.xpath("//xmlns:hyperlink[@r:id='#{@a.id}']").size, 1)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
|
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.
|
|
4
|
+
version: 1.3.1
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-
|
|
12
|
+
date: 2012-09-30 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: nokogiri
|
|
@@ -191,7 +191,9 @@ files:
|
|
|
191
191
|
- lib/axlsx/workbook/defined_names.rb
|
|
192
192
|
- lib/axlsx/workbook/shared_strings_table.rb
|
|
193
193
|
- lib/axlsx/workbook/workbook.rb
|
|
194
|
-
- lib/axlsx/workbook/worksheet/auto_filter.rb
|
|
194
|
+
- lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb
|
|
195
|
+
- lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb
|
|
196
|
+
- lib/axlsx/workbook/worksheet/auto_filter/filters.rb
|
|
195
197
|
- lib/axlsx/workbook/worksheet/cell.rb
|
|
196
198
|
- lib/axlsx/workbook/worksheet/cfvo.rb
|
|
197
199
|
- lib/axlsx/workbook/worksheet/col.rb
|
|
@@ -210,6 +212,7 @@ files:
|
|
|
210
212
|
- lib/axlsx/workbook/worksheet/icon_set.rb
|
|
211
213
|
- lib/axlsx/workbook/worksheet/merged_cells.rb
|
|
212
214
|
- lib/axlsx/workbook/worksheet/page_margins.rb
|
|
215
|
+
- lib/axlsx/workbook/worksheet/page_set_up_pr.rb
|
|
213
216
|
- lib/axlsx/workbook/worksheet/page_setup.rb
|
|
214
217
|
- lib/axlsx/workbook/worksheet/pane.rb
|
|
215
218
|
- lib/axlsx/workbook/worksheet/print_options.rb
|
|
@@ -217,15 +220,19 @@ files:
|
|
|
217
220
|
- lib/axlsx/workbook/worksheet/protected_ranges.rb
|
|
218
221
|
- lib/axlsx/workbook/worksheet/row.rb
|
|
219
222
|
- lib/axlsx/workbook/worksheet/selection.rb
|
|
223
|
+
- lib/axlsx/workbook/worksheet/sheet_calc_pr.rb
|
|
220
224
|
- lib/axlsx/workbook/worksheet/sheet_data.rb
|
|
221
225
|
- lib/axlsx/workbook/worksheet/sheet_pr.rb
|
|
222
226
|
- lib/axlsx/workbook/worksheet/sheet_protection.rb
|
|
223
227
|
- lib/axlsx/workbook/worksheet/sheet_view.rb
|
|
224
228
|
- lib/axlsx/workbook/worksheet/table.rb
|
|
229
|
+
- lib/axlsx/workbook/worksheet/table_style_info.rb
|
|
225
230
|
- lib/axlsx/workbook/worksheet/tables.rb
|
|
226
231
|
- lib/axlsx/workbook/worksheet/worksheet.rb
|
|
227
232
|
- lib/axlsx/workbook/worksheet/worksheet_comments.rb
|
|
228
233
|
- lib/axlsx/workbook/worksheet/worksheet_drawing.rb
|
|
234
|
+
- lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb
|
|
235
|
+
- lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb
|
|
229
236
|
- lib/axlsx.rb
|
|
230
237
|
- lib/schema/dc.xsd
|
|
231
238
|
- lib/schema/dcmitype.xsd
|
|
@@ -262,6 +269,8 @@ files:
|
|
|
262
269
|
- lib/schema/vml-wordprocessingDrawing.xsd
|
|
263
270
|
- lib/schema/wml.xsd
|
|
264
271
|
- lib/schema/xml.xsd
|
|
272
|
+
- examples/auto_filter.rb
|
|
273
|
+
- examples/auto_filter.xlsx
|
|
265
274
|
- examples/basic_charts.rb
|
|
266
275
|
- examples/chart_colors.rb
|
|
267
276
|
- examples/conditional_formatting/example_conditional_formatting.rb
|
|
@@ -275,17 +284,45 @@ files:
|
|
|
275
284
|
- examples/example_streamed.xlsx
|
|
276
285
|
- examples/extractive.pdf
|
|
277
286
|
- examples/extractive.rb
|
|
287
|
+
- examples/extractive.xlsx
|
|
288
|
+
- examples/hyperlinks.rb
|
|
289
|
+
- examples/hyperlinks.xlsx
|
|
278
290
|
- examples/image1.gif
|
|
279
291
|
- examples/image1.jpeg
|
|
280
292
|
- examples/image1.jpg
|
|
281
293
|
- examples/image1.png
|
|
282
294
|
- examples/no-use_autowidth.xlsx
|
|
295
|
+
- examples/page_setup.rb
|
|
296
|
+
- examples/page_setup.xlsx
|
|
283
297
|
- examples/sample.png
|
|
284
298
|
- examples/scraping_html.rb
|
|
285
299
|
- examples/shared_strings_example.xlsx
|
|
286
300
|
- examples/sheet_protection.rb
|
|
287
301
|
- examples/sheet_view.rb
|
|
302
|
+
- examples/skydrive/axlsx.csv
|
|
303
|
+
- examples/skydrive/axlsx.xlsx
|
|
288
304
|
- examples/skydrive/real_example.rb
|
|
305
|
+
- examples/sprk2012/basics.rb
|
|
306
|
+
- examples/sprk2012/basics.xlsx
|
|
307
|
+
- examples/sprk2012/gravatar.jpeg
|
|
308
|
+
- examples/sprk2012/hair_club.jpg
|
|
309
|
+
- examples/sprk2012/images.rb
|
|
310
|
+
- examples/sprk2012/images.xlsx
|
|
311
|
+
- examples/sprk2012/line_chart.rb
|
|
312
|
+
- examples/sprk2012/line_chart.xlsx
|
|
313
|
+
- examples/sprk2012/Screen Shot 2012-09-11 at 10.42.06 PM.png
|
|
314
|
+
- examples/sprk2012/Screen Shot 2012-09-11 at 11.07.48 PM.png
|
|
315
|
+
- examples/sprk2012/Screen Shot 2012-09-11 at 8.31.50 PM.png
|
|
316
|
+
- examples/sprk2012/Screen Shot 2012-09-11 at 9.23.27 PM.png
|
|
317
|
+
- examples/sprk2012/Screen Shot 2012-09-11 at 9.32.06 PM.png
|
|
318
|
+
- examples/sprk2012/Screen Shot 2012-09-11 at 9.33.35 PM.png
|
|
319
|
+
- examples/sprk2012/Screen Shot 2012-09-11 at 9.46.44 PM.png
|
|
320
|
+
- examples/sprk2012/Screen Shot 2012-09-12 at 5.07.23 PM.png
|
|
321
|
+
- examples/sprk2012/sprk2012.key
|
|
322
|
+
- examples/sprk2012/styles.rb
|
|
323
|
+
- examples/sprk2012/styles.xlsx
|
|
324
|
+
- examples/styles.rb
|
|
325
|
+
- examples/styles.xlsx
|
|
289
326
|
- examples/two_cell_anchor_image.rb
|
|
290
327
|
- LICENSE
|
|
291
328
|
- README.md
|
|
@@ -363,7 +400,9 @@ files:
|
|
|
363
400
|
- test/workbook/tc_defined_name.rb
|
|
364
401
|
- test/workbook/tc_shared_strings_table.rb
|
|
365
402
|
- test/workbook/tc_workbook.rb
|
|
366
|
-
- test/workbook/worksheet/
|
|
403
|
+
- test/workbook/worksheet/auto_filter/tc_auto_filter.rb
|
|
404
|
+
- test/workbook/worksheet/auto_filter/tc_filter_column.rb
|
|
405
|
+
- test/workbook/worksheet/auto_filter/tc_filters.rb
|
|
367
406
|
- test/workbook/worksheet/tc_cell.rb
|
|
368
407
|
- test/workbook/worksheet/tc_cfvo.rb
|
|
369
408
|
- test/workbook/worksheet/tc_col.rb
|
|
@@ -376,15 +415,21 @@ files:
|
|
|
376
415
|
- test/workbook/worksheet/tc_date_time_converter.rb
|
|
377
416
|
- test/workbook/worksheet/tc_icon_set.rb
|
|
378
417
|
- test/workbook/worksheet/tc_page_margins.rb
|
|
418
|
+
- test/workbook/worksheet/tc_page_set_up_pr.rb
|
|
379
419
|
- test/workbook/worksheet/tc_page_setup.rb
|
|
380
420
|
- test/workbook/worksheet/tc_pane.rb
|
|
381
421
|
- test/workbook/worksheet/tc_print_options.rb
|
|
382
422
|
- test/workbook/worksheet/tc_protected_range.rb
|
|
383
423
|
- test/workbook/worksheet/tc_row.rb
|
|
384
424
|
- test/workbook/worksheet/tc_selection.rb
|
|
425
|
+
- test/workbook/worksheet/tc_sheet_calc_pr.rb
|
|
426
|
+
- test/workbook/worksheet/tc_sheet_pr.rb
|
|
385
427
|
- test/workbook/worksheet/tc_sheet_protection.rb
|
|
386
428
|
- test/workbook/worksheet/tc_sheet_view.rb
|
|
429
|
+
- test/workbook/worksheet/tc_table.rb
|
|
430
|
+
- test/workbook/worksheet/tc_table_style_info.rb
|
|
387
431
|
- test/workbook/worksheet/tc_worksheet.rb
|
|
432
|
+
- test/workbook/worksheet/tc_worksheet_hyperlink.rb
|
|
388
433
|
homepage: https://github.com/randym/axlsx
|
|
389
434
|
licenses: []
|
|
390
435
|
post_install_message:
|
|
@@ -405,7 +450,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
405
450
|
version: '0'
|
|
406
451
|
segments:
|
|
407
452
|
- 0
|
|
408
|
-
hash:
|
|
453
|
+
hash: 2473429157853002876
|
|
409
454
|
requirements: []
|
|
410
455
|
rubyforge_project:
|
|
411
456
|
rubygems_version: 1.8.24
|
|
@@ -484,7 +529,9 @@ test_files:
|
|
|
484
529
|
- test/workbook/tc_defined_name.rb
|
|
485
530
|
- test/workbook/tc_shared_strings_table.rb
|
|
486
531
|
- test/workbook/tc_workbook.rb
|
|
487
|
-
- test/workbook/worksheet/
|
|
532
|
+
- test/workbook/worksheet/auto_filter/tc_auto_filter.rb
|
|
533
|
+
- test/workbook/worksheet/auto_filter/tc_filter_column.rb
|
|
534
|
+
- test/workbook/worksheet/auto_filter/tc_filters.rb
|
|
488
535
|
- test/workbook/worksheet/tc_cell.rb
|
|
489
536
|
- test/workbook/worksheet/tc_cfvo.rb
|
|
490
537
|
- test/workbook/worksheet/tc_col.rb
|
|
@@ -497,13 +544,19 @@ test_files:
|
|
|
497
544
|
- test/workbook/worksheet/tc_date_time_converter.rb
|
|
498
545
|
- test/workbook/worksheet/tc_icon_set.rb
|
|
499
546
|
- test/workbook/worksheet/tc_page_margins.rb
|
|
547
|
+
- test/workbook/worksheet/tc_page_set_up_pr.rb
|
|
500
548
|
- test/workbook/worksheet/tc_page_setup.rb
|
|
501
549
|
- test/workbook/worksheet/tc_pane.rb
|
|
502
550
|
- test/workbook/worksheet/tc_print_options.rb
|
|
503
551
|
- test/workbook/worksheet/tc_protected_range.rb
|
|
504
552
|
- test/workbook/worksheet/tc_row.rb
|
|
505
553
|
- test/workbook/worksheet/tc_selection.rb
|
|
554
|
+
- test/workbook/worksheet/tc_sheet_calc_pr.rb
|
|
555
|
+
- test/workbook/worksheet/tc_sheet_pr.rb
|
|
506
556
|
- test/workbook/worksheet/tc_sheet_protection.rb
|
|
507
557
|
- test/workbook/worksheet/tc_sheet_view.rb
|
|
558
|
+
- test/workbook/worksheet/tc_table.rb
|
|
559
|
+
- test/workbook/worksheet/tc_table_style_info.rb
|
|
508
560
|
- test/workbook/worksheet/tc_worksheet.rb
|
|
561
|
+
- test/workbook/worksheet/tc_worksheet_hyperlink.rb
|
|
509
562
|
has_rdoc: axlsx
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
module Axlsx
|
|
2
|
-
|
|
3
|
-
#This class represents an auto filter range in a worksheet
|
|
4
|
-
class AutoFilter
|
|
5
|
-
|
|
6
|
-
# creates a new Autofilter object
|
|
7
|
-
# @param [Worksheet] worksheet
|
|
8
|
-
def initialize(worksheet)
|
|
9
|
-
raise ArgumentError, 'you must provide a worksheet' unless worksheet.is_a?(Worksheet)
|
|
10
|
-
@worksheet = worksheet
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
attr_reader :worksheet
|
|
14
|
-
|
|
15
|
-
# The range the autofilter should be applied to.
|
|
16
|
-
# This should be a string like 'A1:B8'
|
|
17
|
-
# @return [String]
|
|
18
|
-
attr_accessor :range
|
|
19
|
-
|
|
20
|
-
# the formula for the defined name required for this auto filter
|
|
21
|
-
# @return [String]
|
|
22
|
-
def defined_name
|
|
23
|
-
return unless range
|
|
24
|
-
Axlsx.cell_range(range.split(':').collect { |name| worksheet.name_to_cell(name)})
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
# serialize the object
|
|
28
|
-
# @return [String]
|
|
29
|
-
def to_xml_string(str='')
|
|
30
|
-
str << "<autoFilter ref='#{range}'></autoFilter>"
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
end
|
|
34
|
-
end
|