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.
Files changed (83) hide show
  1. data/.yardopts +3 -2
  2. data/CHANGELOG.md +34 -1
  3. data/README.md +36 -30
  4. data/Rakefile +1 -1
  5. data/examples/auto_filter.rb +16 -0
  6. data/examples/auto_filter.xlsx +0 -0
  7. data/examples/basic_charts.rb +4 -0
  8. data/examples/example.rb +41 -13
  9. data/examples/example.xlsx +0 -0
  10. data/examples/example_streamed.xlsx +0 -0
  11. data/examples/extractive.xlsx +0 -0
  12. data/examples/hyperlinks.rb +23 -0
  13. data/examples/hyperlinks.xlsx +0 -0
  14. data/examples/no-use_autowidth.xlsx +0 -0
  15. data/examples/page_setup.rb +11 -0
  16. data/examples/page_setup.xlsx +0 -0
  17. data/examples/shared_strings_example.xlsx +0 -0
  18. data/examples/skydrive/axlsx.csv +1 -0
  19. data/examples/skydrive/axlsx.xlsx +0 -0
  20. data/examples/skydrive/real_example.rb +8 -8
  21. data/examples/sprk2012/Screen Shot 2012-09-11 at 10.42.06 PM.png +0 -0
  22. data/examples/sprk2012/Screen Shot 2012-09-11 at 11.07.48 PM.png +0 -0
  23. data/examples/sprk2012/Screen Shot 2012-09-11 at 8.31.50 PM.png +0 -0
  24. data/examples/sprk2012/Screen Shot 2012-09-11 at 9.23.27 PM.png +0 -0
  25. data/examples/sprk2012/Screen Shot 2012-09-11 at 9.32.06 PM.png +0 -0
  26. data/examples/sprk2012/Screen Shot 2012-09-11 at 9.33.35 PM.png +0 -0
  27. data/examples/sprk2012/Screen Shot 2012-09-11 at 9.46.44 PM.png +0 -0
  28. data/examples/sprk2012/Screen Shot 2012-09-12 at 5.07.23 PM.png +0 -0
  29. data/examples/sprk2012/basics.rb +11 -0
  30. data/examples/sprk2012/basics.xlsx +0 -0
  31. data/examples/sprk2012/gravatar.jpeg +0 -0
  32. data/examples/sprk2012/hair_club.jpg +0 -0
  33. data/examples/sprk2012/images.rb +9 -0
  34. data/examples/sprk2012/images.xlsx +0 -0
  35. data/examples/sprk2012/line_chart.rb +56 -0
  36. data/examples/sprk2012/line_chart.xlsx +0 -0
  37. data/examples/sprk2012/sprk2012.key +0 -0
  38. data/examples/sprk2012/styles.rb +20 -0
  39. data/examples/sprk2012/styles.xlsx +0 -0
  40. data/examples/styles.rb +62 -0
  41. data/examples/styles.xlsx +0 -0
  42. data/lib/axlsx/doc_props/app.rb +3 -3
  43. data/lib/axlsx/drawing/axis.rb +1 -1
  44. data/lib/axlsx/drawing/view_3D.rb +1 -1
  45. data/lib/axlsx/package.rb +0 -1
  46. data/lib/axlsx/stylesheet/styles.rb +10 -1
  47. data/lib/axlsx/util/constants.rb +105 -4
  48. data/lib/axlsx/util/simple_typed_list.rb +3 -1
  49. data/lib/axlsx/util/validators.rb +26 -8
  50. data/lib/axlsx/version.rb +2 -2
  51. data/lib/axlsx/workbook/workbook.rb +6 -1
  52. data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -0
  53. data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +102 -0
  54. data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +253 -0
  55. data/lib/axlsx/workbook/worksheet/cell.rb +10 -5
  56. data/lib/axlsx/workbook/worksheet/date_time_converter.rb +1 -1
  57. data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +47 -0
  58. data/lib/axlsx/workbook/worksheet/page_setup.rb +135 -7
  59. data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +49 -0
  60. data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -4
  61. data/lib/axlsx/workbook/worksheet/table.rb +8 -1
  62. data/lib/axlsx/workbook/worksheet/table_style_info.rb +68 -0
  63. data/lib/axlsx/workbook/worksheet/worksheet.rb +45 -7
  64. data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +101 -0
  65. data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -0
  66. data/lib/axlsx.rb +8 -1
  67. data/test/stylesheet/tc_styles.rb +13 -0
  68. data/test/tc_package.rb +1 -0
  69. data/test/util/tc_validators.rb +8 -1
  70. data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +38 -0
  71. data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +76 -0
  72. data/test/workbook/worksheet/auto_filter/tc_filters.rb +50 -0
  73. data/test/workbook/worksheet/tc_cell.rb +23 -1
  74. data/test/workbook/worksheet/tc_page_set_up_pr.rb +15 -0
  75. data/test/workbook/worksheet/tc_page_setup.rb +6 -1
  76. data/test/workbook/worksheet/tc_sheet_calc_pr.rb +18 -0
  77. data/test/workbook/worksheet/tc_sheet_pr.rb +27 -0
  78. data/test/workbook/worksheet/{table/tc_table.rb → tc_table.rb} +6 -1
  79. data/test/workbook/worksheet/tc_table_style_info.rb +53 -0
  80. data/test/workbook/worksheet/tc_worksheet.rb +17 -3
  81. data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +64 -0
  82. metadata +59 -6
  83. 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.2.0
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-08-05 00:00:00.000000000 Z
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/table/tc_table.rb
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: 2125383540867602531
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/table/tc_table.rb
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