axlsx 1.2.0 → 1.3.3

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 (161) hide show
  1. data/.yardopts +3 -2
  2. data/CHANGELOG.md +34 -1
  3. data/README.md +47 -33
  4. data/Rakefile +1 -1
  5. data/examples/auto_filter.rb +16 -0
  6. data/examples/basic_charts.rb +4 -0
  7. data/examples/colored_links.rb +59 -0
  8. data/examples/doc/_index.html +88 -0
  9. data/examples/doc/class_list.html +53 -0
  10. data/examples/doc/css/common.css +1 -0
  11. data/examples/doc/css/full_list.css +57 -0
  12. data/examples/doc/css/style.css +328 -0
  13. data/examples/doc/file_list.html +52 -0
  14. data/examples/doc/frames.html +28 -0
  15. data/examples/doc/index.html +88 -0
  16. data/examples/doc/js/app.js +214 -0
  17. data/examples/doc/js/full_list.js +173 -0
  18. data/examples/doc/js/jquery.js +4 -0
  19. data/examples/doc/method_list.html +52 -0
  20. data/examples/doc/top-level-namespace.html +102 -0
  21. data/examples/example.rb +447 -257
  22. data/examples/finance.rb +82 -0
  23. data/examples/hyperlinks.rb +23 -0
  24. data/examples/page_setup.rb +11 -0
  25. data/examples/skydrive/axlsx.csv +1 -0
  26. data/examples/skydrive/axlsx.xlsx +0 -0
  27. data/examples/skydrive/real_example.rb +8 -8
  28. data/examples/sprk2012/Screen Shot 2012-09-11 at 10.42.06 PM.png +0 -0
  29. data/examples/sprk2012/Screen Shot 2012-09-11 at 11.07.48 PM.png +0 -0
  30. data/examples/sprk2012/Screen Shot 2012-09-11 at 8.31.50 PM.png +0 -0
  31. data/examples/sprk2012/Screen Shot 2012-09-11 at 9.23.27 PM.png +0 -0
  32. data/examples/sprk2012/Screen Shot 2012-09-11 at 9.32.06 PM.png +0 -0
  33. data/examples/sprk2012/Screen Shot 2012-09-11 at 9.33.35 PM.png +0 -0
  34. data/examples/sprk2012/Screen Shot 2012-09-11 at 9.46.44 PM.png +0 -0
  35. data/examples/sprk2012/Screen Shot 2012-09-12 at 5.07.23 PM.png +0 -0
  36. data/examples/sprk2012/basics.rb +11 -0
  37. data/examples/sprk2012/basics.xlsx +0 -0
  38. data/examples/sprk2012/gravatar.jpeg +0 -0
  39. data/examples/sprk2012/hair_club.jpg +0 -0
  40. data/examples/sprk2012/images.rb +9 -0
  41. data/examples/{example.xlsx → sprk2012/images.xlsx} +0 -0
  42. data/examples/sprk2012/line_chart.rb +56 -0
  43. data/examples/sprk2012/line_chart.xlsx +0 -0
  44. data/examples/sprk2012/sprk2012.key +0 -0
  45. data/examples/sprk2012/styles.rb +20 -0
  46. data/examples/sprk2012/styles.xlsx +0 -0
  47. data/examples/styles.rb +62 -0
  48. data/lib/axlsx/content_type/abstract_content_type.rb +32 -0
  49. data/lib/axlsx/content_type/content_type.rb +1 -1
  50. data/lib/axlsx/content_type/default.rb +6 -37
  51. data/lib/axlsx/content_type/override.rb +6 -38
  52. data/lib/axlsx/doc_props/app.rb +10 -7
  53. data/lib/axlsx/drawing/axis.rb +4 -4
  54. data/lib/axlsx/drawing/chart.rb +2 -3
  55. data/lib/axlsx/drawing/d_lbls.rb +21 -31
  56. data/lib/axlsx/drawing/drawing.rb +6 -0
  57. data/lib/axlsx/drawing/hyperlink.rb +40 -32
  58. data/lib/axlsx/drawing/marker.rb +13 -13
  59. data/lib/axlsx/drawing/num_data.rb +6 -6
  60. data/lib/axlsx/drawing/num_data_source.rb +17 -16
  61. data/lib/axlsx/drawing/one_cell_anchor.rb +20 -22
  62. data/lib/axlsx/drawing/pic.rb +25 -27
  63. data/lib/axlsx/drawing/picture_locking.rb +12 -44
  64. data/lib/axlsx/drawing/scaling.rb +13 -13
  65. data/lib/axlsx/drawing/scatter_chart.rb +3 -3
  66. data/lib/axlsx/drawing/series.rb +3 -6
  67. data/lib/axlsx/drawing/str_data.rb +3 -3
  68. data/lib/axlsx/drawing/str_val.rb +7 -8
  69. data/lib/axlsx/drawing/view_3D.rb +52 -38
  70. data/lib/axlsx/drawing/vml_shape.rb +23 -23
  71. data/lib/axlsx/package.rb +14 -17
  72. data/lib/axlsx/stylesheet/border.rb +29 -20
  73. data/lib/axlsx/stylesheet/border_pr.rb +5 -4
  74. data/lib/axlsx/stylesheet/cell_alignment.rb +55 -29
  75. data/lib/axlsx/stylesheet/cell_protection.rb +7 -4
  76. data/lib/axlsx/stylesheet/cell_style.rb +19 -14
  77. data/lib/axlsx/stylesheet/color.rb +19 -16
  78. data/lib/axlsx/stylesheet/dxf.rb +4 -4
  79. data/lib/axlsx/stylesheet/font.rb +22 -22
  80. data/lib/axlsx/stylesheet/gradient_fill.rb +45 -21
  81. data/lib/axlsx/stylesheet/num_fmt.rb +22 -13
  82. data/lib/axlsx/stylesheet/pattern_fill.rb +12 -21
  83. data/lib/axlsx/stylesheet/styles.rb +11 -2
  84. data/lib/axlsx/stylesheet/table_style.rb +17 -16
  85. data/lib/axlsx/stylesheet/table_style_element.rb +15 -11
  86. data/lib/axlsx/stylesheet/table_styles.rb +14 -11
  87. data/lib/axlsx/stylesheet/xf.rb +28 -26
  88. data/lib/axlsx/util/accessors.rb +49 -0
  89. data/lib/axlsx/util/constants.rb +105 -4
  90. data/lib/axlsx/util/options_parser.rb +15 -0
  91. data/lib/axlsx/util/serialized_attributes.rb +46 -0
  92. data/lib/axlsx/util/simple_typed_list.rb +16 -2
  93. data/lib/axlsx/util/validators.rb +33 -8
  94. data/lib/axlsx/version.rb +2 -2
  95. data/lib/axlsx/workbook/defined_name.rb +13 -58
  96. data/lib/axlsx/workbook/workbook.rb +33 -2
  97. data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -0
  98. data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -0
  99. data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +246 -0
  100. data/lib/axlsx/workbook/worksheet/cell.rb +82 -45
  101. data/lib/axlsx/workbook/worksheet/cfvo.rb +15 -15
  102. data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -0
  103. data/lib/axlsx/workbook/worksheet/col.rb +34 -27
  104. data/lib/axlsx/workbook/worksheet/color_scale.rb +7 -13
  105. data/lib/axlsx/workbook/worksheet/comment.rb +14 -11
  106. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +11 -11
  107. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +27 -25
  108. data/lib/axlsx/workbook/worksheet/data_bar.rb +44 -34
  109. data/lib/axlsx/workbook/worksheet/data_validation.rb +61 -62
  110. data/lib/axlsx/workbook/worksheet/date_time_converter.rb +1 -1
  111. data/lib/axlsx/workbook/worksheet/dimension.rb +0 -1
  112. data/lib/axlsx/workbook/worksheet/icon_set.rb +20 -20
  113. data/lib/axlsx/workbook/worksheet/page_margins.rb +21 -19
  114. data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -0
  115. data/lib/axlsx/workbook/worksheet/page_setup.rb +152 -23
  116. data/lib/axlsx/workbook/worksheet/pane.rb +48 -51
  117. data/lib/axlsx/workbook/worksheet/print_options.rb +8 -30
  118. data/lib/axlsx/workbook/worksheet/protected_range.rb +16 -13
  119. data/lib/axlsx/workbook/worksheet/row.rb +48 -81
  120. data/lib/axlsx/workbook/worksheet/selection.rb +30 -38
  121. data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -0
  122. data/lib/axlsx/workbook/worksheet/sheet_pr.rb +49 -4
  123. data/lib/axlsx/workbook/worksheet/sheet_protection.rb +51 -155
  124. data/lib/axlsx/workbook/worksheet/sheet_view.rb +68 -234
  125. data/lib/axlsx/workbook/worksheet/table.rb +22 -17
  126. data/lib/axlsx/workbook/worksheet/table_style_info.rb +51 -0
  127. data/lib/axlsx/workbook/worksheet/worksheet.rb +51 -14
  128. data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +1 -1
  129. data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +79 -0
  130. data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -0
  131. data/lib/axlsx.rb +19 -5
  132. data/test/content_type/tc_default.rb +0 -11
  133. data/test/content_type/tc_override.rb +0 -13
  134. data/test/drawing/tc_d_lbls.rb +14 -4
  135. data/test/stylesheet/tc_styles.rb +13 -0
  136. data/test/tc_axlsx.rb +20 -2
  137. data/test/tc_package.rb +1 -0
  138. data/test/util/tc_validators.rb +22 -1
  139. data/test/workbook/tc_defined_name.rb +2 -2
  140. data/test/workbook/tc_workbook.rb +15 -0
  141. data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +38 -0
  142. data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +76 -0
  143. data/test/workbook/worksheet/auto_filter/tc_filters.rb +50 -0
  144. data/test/workbook/worksheet/tc_cell.rb +35 -5
  145. data/test/workbook/worksheet/tc_col.rb +11 -1
  146. data/test/workbook/worksheet/tc_page_set_up_pr.rb +15 -0
  147. data/test/workbook/worksheet/tc_page_setup.rb +6 -1
  148. data/test/workbook/worksheet/tc_pane.rb +5 -45
  149. data/test/workbook/worksheet/tc_row.rb +4 -4
  150. data/test/workbook/worksheet/tc_selection.rb +9 -48
  151. data/test/workbook/worksheet/tc_sheet_calc_pr.rb +18 -0
  152. data/test/workbook/worksheet/tc_sheet_pr.rb +27 -0
  153. data/test/workbook/worksheet/{table/tc_table.rb → tc_table.rb} +6 -1
  154. data/test/workbook/worksheet/tc_table_style_info.rb +53 -0
  155. data/test/workbook/worksheet/tc_worksheet.rb +17 -3
  156. data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +64 -0
  157. metadata +74 -10
  158. data/examples/example_streamed.xlsx +0 -0
  159. data/examples/no-use_autowidth.xlsx +0 -0
  160. data/examples/shared_strings_example.xlsx +0 -0
  161. data/lib/axlsx/workbook/worksheet/auto_filter.rb +0 -34
data/.yardopts CHANGED
@@ -4,5 +4,6 @@
4
4
  --readme README.md
5
5
  --markup markdown
6
6
  --markup-provider kramdown
7
- --files CHANGELOG.md, LICENSE
8
- --list-undoc
7
+ -
8
+ CHANGELOG.md
9
+ LICENSE
data/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  CHANGELOG
2
2
  ---------
3
+ - **August.27.12**: 1.2.2
4
+ - minor patch for auto-filters
5
+ - minor documentation improvements.
6
+ - **August.12.12**: 1.2.1
7
+ - Add support for hyperlinks in worksheets
8
+ - Fix example that was using old style cell merging with concact.
9
+ - Fix bug that occurs when calculating the font_size for cells that use a user specified style which does not define sz
10
+ - **August.5.12**: 1.2.0
11
+ - rebuilt worksheet serialization to clean up the code base a bit.
12
+ - added data labels for charts
13
+ - added table header printing for each sheet via defined_name. This
14
+ means that when you print your worksheet, the header rows show for every page
15
+ - **July.??.12**: 1.1.9 release
16
+ - lots of code clean up for worksheet
17
+ - added in data labels for pie charts, line charts and bar charts.
18
+ - bugfix chard with data in a sheet that has a space in the name are
19
+ now auto updating formula based values
20
+ - **July.14.12**: 1.1.8 release
21
+ - added html entity encoding for sheet names. This allows you to use
22
+ characters like '<' and '&' in your sheet names.
23
+ - new - first round google docs interoperability
24
+ - added filter to strip out control characters from cell data.
25
+ - added in interop requirements so that charts are properly exported
26
+ to PDF from Libra Office
27
+ - various readability improvements and work standardizing attribute
28
+ names to snake_case. Aliases are provided for backward compatiblity
29
+ - **June.11.12**: 1.1.7 release
30
+ - fix chart rendering issue when label offset is specified as a
31
+ percentage in serialization and ensure that formula are not stored
32
+ in value caches
33
+ - fix bug that causes repair warnings when using a text only title reference.
34
+ - Add title property to axis so you can lable the x/y/series axis for
35
+ charts.
36
+ - Add sheet views with panes
3
37
  - **May.30.12**: 1.1.6 release
4
38
  - data protection with passwords for sheets
5
39
  - cell level input validators
@@ -10,7 +44,6 @@ CHANGELOG
10
44
  - added ph (phonetics) and s (style) attributes for row.
11
45
  - resolved all warnings generating from this gem.
12
46
  - improved comment relationship management for multiple comments
13
-
14
47
  - **May.13.12**: 1.1.5 release
15
48
  - MOAR print options! You can now specify paper size, orientation,
16
49
  fit to width, page margings and gridlines for printing.
data/README.md CHANGED
@@ -1,6 +1,10 @@
1
1
  Axlsx: Office Open XML Spreadsheet Generation
2
2
  ====================================
3
3
  [![Build Status](https://secure.travis-ci.org/randym/axlsx.png)](http://travis-ci.org/randym/axlsx/)
4
+
5
+ If you are using axlsx for comercial purposes, or just want to show your
6
+ appreciation for the gem, please don't hesitate to make a donation.
7
+
4
8
  [![Click here to lend your support to: axlsx and make a donation at www.pledgie.com !](http://www.pledgie.com/campaigns/17814.png?skin_name=chrome)](http://www.pledgie.com/campaigns/17814)
5
9
 
6
10
  **IRC**:[irc.freenode.net / #axlsx](irc://irc.freenode.net/axlsx)
@@ -11,13 +15,13 @@ Axlsx: Office Open XML Spreadsheet Generation
11
15
 
12
16
  **Google Group**: [https://groups.google.com/forum/?fromgroups#!forum/axlsx](https://groups.google.com/forum/?fromgroups#!forum/axlsx)
13
17
 
14
- **Author**: Randy Morgan
18
+ **Author**: Randy Morgan
15
19
 
16
- **Copyright**: 2011 - 2012
20
+ **Copyright**: 2011 - 2012
17
21
 
18
22
  **License**: MIT License
19
23
 
20
- **Latest Version**: 1.2.0
24
+ **Latest Version**: 1.3.2
21
25
 
22
26
  **Ruby Version**: 1.8.7, 1.9.2, 1.9.3
23
27
 
@@ -25,7 +29,7 @@ Axlsx: Office Open XML Spreadsheet Generation
25
29
 
26
30
  **Rubinius Version**: rubinius 2.0.0dev * lower versions may run, this gem always tests against head.
27
31
 
28
- **Release Date**: August 5th 2012
32
+ **Release Date**: November 5th 2012
29
33
 
30
34
  If you are working in rails, or with active record see:
31
35
  * http://github.com/randym/acts_as_xlsx
@@ -145,33 +149,27 @@ This gem has 100% test coverage using test/unit. To execute tests for this gem,
145
149
 
146
150
  #Change log
147
151
  ---------
148
- - **August.5.12**: 1.2.0
149
- - rebuilt worksheet serialization to clean up the code base a bit.
150
- - added data labels for charts
151
- - added table header printing for each sheet via defined_name. This
152
- means that when you print your worksheet, the header rows show for every page
153
- - **July.??.12**: 1.1.9 release
154
- - lots of code clean up for worksheet
155
- - added in data labels for pie charts, line charts and bar charts.
156
- - bugfix chard with data in a sheet that has a space in the name are
157
- now auto updating formula based values
158
- - **July.14.12**: 1.1.8 release
159
- - added html entity encoding for sheet names. This allows you to use
160
- characters like '<' and '&' in your sheet names.
161
- - new - first round google docs interoperability
162
- - added filter to strip out control characters from cell data.
163
- - added in interop requirements so that charts are properly exported
164
- to PDF from Libra Office
165
- - various readability improvements and work standardizing attribute
166
- names to snake_case. Aliases are provided for backward compatiblity
167
- - **June.11.12**: 1.1.7 release
168
- - fix chart rendering issue when label offset is specified as a
169
- percentage in serialization and ensure that formula are not stored
170
- in value caches
171
- - fix bug that causes repair warnings when using a text only title reference.
172
- - Add title property to axis so you can lable the x/y/series axis for
173
- charts.
174
- - Add sheet views with panes
152
+ - **November.5.12**:1.3.2
153
+ - MASSIVE REFACTORING
154
+ - Patch for apostrophes in worksheet names
155
+ - added sheet_by_name for workbook so you can now find your worksheets
156
+ by name
157
+ - added insert_worksheet so you can now add a worksheet to an
158
+ arbitrary position in the worksheets list.
159
+ - reduced memory consumption for package parts post serialization
160
+ - **September.30.12**: 1.3.1
161
+ - Improved control character handling
162
+ - Added stored auto filter values and date grouping items
163
+ - Improved support for autowidth when custom styles are applied
164
+ - Added support for table style info that lets you take advantage of
165
+ all the predefined table styles.
166
+ - Improved style management for fonts so they merge undefined values
167
+ from the initial master.
168
+ - **September.8.12**: 1.2.3
169
+ - enhance exponential float/bigdecimal values rendering as strings intead
170
+ of 'numbers' in excel.
171
+ - added support for :none option on chart axis labels
172
+ - added support for paper_size option on worksheet.page_setup
175
173
 
176
174
  Please see the {file:CHANGELOG.md} document for past release information.
177
175
 
@@ -180,7 +178,7 @@ As axslx implements the Office Open XML (ECMA-376 spec) much of the
180
178
  functionality is interoperable with other spreadsheet software. Below is
181
179
  a listing of some known issues.
182
180
 
183
- 1. Libra Office
181
+ 1. Libre Office
184
182
  - You must specify colors for your series. see examples/chart_colors.rb
185
183
  for an example.
186
184
  - You must use data in your sheet for charts. You cannot use hard coded
@@ -193,7 +191,19 @@ related to themes, which axlsx does not implement at this time.
193
191
  - border colors do not work
194
192
 
195
193
  3. Numbers
196
- - you must set 'use_shared_strings' to true
194
+ - you must set 'use_shared_strings' to true. This is most
195
+ conveniently done just before rendering by calling Package.use_shared_strings = true prior to serialization.
196
+
197
+ ```ruby
198
+ p = Axlsx::Package.new
199
+ p.workbook.add_worksheet(:name => "Basic Worksheet") do |sheet|
200
+ sheet.add_row ["First Column", "Second", "Third"]
201
+ sheet.add_row [1, 2, 3]
202
+ end
203
+ p.use_shared_strings = true
204
+ p.serialize('simple.xlsx')
205
+ ```
206
+
197
207
  - charts do not render
198
208
 
199
209
 
@@ -229,6 +239,10 @@ done without the help of the people below.
229
239
 
230
240
  [straydogstudio](https://github.com/straydocstudio) - For making an AWESOME axlsx templating gem for rails.
231
241
 
242
+ [MitchellAJ](https://github.com/MitchellAJ) - For catching a bug in font_size calculations, finding some old code in an example and above all for reporting all of that brilliantly
243
+
244
+ [ebenoist](https://github.com/ebenoist) - For taking control of control characters and keeping what is between the lines, between the lines.
245
+
232
246
  #Copyright and License
233
247
  ----------
234
248
 
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ end
11
11
  task :gendoc do
12
12
  #puts 'yard doc generation disabled until JRuby build native extensions for redcarpet or yard removes the dependency.'
13
13
  system "yardoc"
14
- system "yard stats --list-undoc"
14
+ #system "yard stats --list-undoc"
15
15
  end
16
16
 
17
17
  task :test do
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby -w -s
2
+ # -*- coding: utf-8 -*-
3
+
4
+ $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
5
+ require 'axlsx'
6
+ Axlsx::Package.new do |p|
7
+ p.workbook.add_worksheet(:name => "Table") do |sheet|
8
+ sheet.add_row ["Build Matrix"]
9
+ sheet.add_row ["Build", "Duration", "Finished", "Rvm"]
10
+ sheet.add_row ["19.1", "1 min 32 sec", "about 10 hours ago", "1.8.7"]
11
+ sheet.add_row ["19.2", "1 min 28 sec", "about 10 hours ago", "1.9.2"]
12
+ sheet.add_row ["19.3", "1 min 35 sec", "about 10 hours ago", "1.9.3"]
13
+ sheet.auto_filter = 'A2:D5'
14
+ sheet.auto_filter.add_column 3, :filters, :filter_items => ['1.9.2']
15
+ end
16
+ end.serialize('auto_filter.xlsx')
@@ -24,6 +24,8 @@ end
24
24
  chart.add_series :data => sheet["A2:D2"], :labels => sheet["A1:D1"], :title => 'bob'
25
25
  chart.d_lbls.show_val = true
26
26
  chart.d_lbls.show_cat_name = true
27
+ chart.catAxis.tick_lbl_pos = :none
28
+
27
29
  end
28
30
  end
29
31
 
@@ -38,6 +40,8 @@ end
38
40
  chart.catAxis.label_rotation = 45
39
41
  chart.d_lbls.d_lbl_pos = :outEnd
40
42
  chart.d_lbls.show_val = true
43
+
44
+ chart.catAxis.tick_lbl_pos = :none
41
45
  end
42
46
  end
43
47
 
@@ -0,0 +1,59 @@
1
+ require 'axlsx'
2
+
3
+ ###############################
4
+ # Function to output results data row to summary spreadsheet
5
+ def outputRow (sid, type)
6
+
7
+ $sumSheet.add_row [ sid, type, "1", "2", "3", "4", "5" ], :style => $black_cell
8
+
9
+ if sid.odd?
10
+ link = "A#{$curRow}"
11
+ puts "outputRow: sid: #{sid}, link: #{link}"
12
+ # Setting the style for the link will apply the xf that we created in the Main Program block
13
+ $sumSheet[link].style = $blue_link
14
+ $sumSheet.add_hyperlink :location => "'Log'!A#{$curRow}", :target => :sheet, :ref => link
15
+ end
16
+ $curRow += 1
17
+ end
18
+
19
+ ##############################
20
+ # Main Program
21
+
22
+ $package = Axlsx::Package.new
23
+ $workbook = $package.workbook
24
+ ## We want to create our sytles outside of the outputRow method
25
+ # Each style only needs to be declared once in the workbook.
26
+ $workbook.styles do |s|
27
+ $black_cell = s.add_style :sz => 10, :alignment => { :horizontal=> :center }
28
+ $blue_link = s.add_style :fg_color => '0000FF'
29
+ end
30
+
31
+
32
+ # Create summary sheet
33
+ $sumSheet = $workbook.add_worksheet(:name => 'Summary')
34
+ $sumSheet.add_row ["Test Results"], :sz => 16
35
+ $sumSheet.add_row
36
+ $sumSheet.add_row
37
+ $sumSheet.add_row ["Note: Blue cells below are links to the Log sheet"], :sz => 10
38
+ $sumSheet.add_row
39
+ $workbook.styles do |s|
40
+ black_cell = s.add_style :sz => 14, :alignment => { :horizontal=> :center }
41
+ $sumSheet.add_row ["ID","Type","Match","Mismatch","Diffs","Errors","Result"], :style => black_cell
42
+ end
43
+ $sumSheet.column_widths 10, 10, 10, 11, 10, 10, 10
44
+
45
+ # Starting data row in summary spreadsheet (after header info)
46
+ $curRow = 7
47
+
48
+ # Create Log Sheet
49
+ $logSheet = $workbook.add_worksheet(:name => 'Log')
50
+ $logSheet.column_widths 10
51
+ $logSheet.add_row ['Log Detail'], :sz => 16
52
+ $logSheet.add_row
53
+
54
+ # Add rows to summary sheet
55
+ for i in 1..10 do
56
+ outputRow(i, 'test')
57
+ end
58
+
59
+ $package.serialize 'where_is_my_color.xlsx'
@@ -0,0 +1,88 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Documentation by YARD 0.8.2.1
8
+
9
+ </title>
10
+
11
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
12
+
13
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <script type="text/javascript" charset="utf-8">
16
+ hasFrames = window.top.frames.main ? true : false;
17
+ relpath = '';
18
+ framesUrl = "frames.html#!" + escape(window.location.href);
19
+ </script>
20
+
21
+
22
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
23
+
24
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
25
+
26
+
27
+ </head>
28
+ <body>
29
+ <div id="header">
30
+ <div id="menu">
31
+
32
+
33
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
34
+ </div>
35
+
36
+ <div id="search">
37
+
38
+ <a class="full_list_link" id="class_list_link"
39
+ href="class_list.html">
40
+ Class List
41
+ </a>
42
+
43
+ <a class="full_list_link" id="method_list_link"
44
+ href="method_list.html">
45
+ Method List
46
+ </a>
47
+
48
+ <a class="full_list_link" id="file_list_link"
49
+ href="file_list.html">
50
+ File List
51
+ </a>
52
+
53
+ </div>
54
+ <div class="clear"></div>
55
+ </div>
56
+
57
+ <iframe id="search_frame"></iframe>
58
+
59
+ <div id="content"><h1 class="noborder title">Documentation by YARD 0.8.2.1</h1>
60
+ <div id="listing">
61
+ <h1 class="alphaindex">Alphabetic Index</h1>
62
+
63
+ <div class="clear"></div>
64
+ <h2>Namespace Listing A-Z</h2>
65
+
66
+
67
+
68
+
69
+ <table>
70
+ <tr>
71
+ <td valign='top' width="33%">
72
+
73
+ </td>
74
+ </tr>
75
+ </table>
76
+
77
+ </div>
78
+
79
+ </div>
80
+
81
+ <div id="footer">
82
+ Generated on Thu Nov 8 08:11:38 2012 by
83
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
84
+ 0.8.2.1 (ruby-1.9.3).
85
+ </div>
86
+
87
+ </body>
88
+ </html>
@@ -0,0 +1,53 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+
7
+ <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
8
+
9
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
10
+
11
+
12
+
13
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
16
+
17
+
18
+ <base id="base_target" target="_parent" />
19
+ </head>
20
+ <body>
21
+ <script type="text/javascript" charset="utf-8">
22
+ if (window.top.frames.main) {
23
+ document.getElementById('base_target').target = 'main';
24
+ document.body.className = 'frames';
25
+ }
26
+ </script>
27
+ <div id="content">
28
+ <h1 id="full_list_header">Class List</h1>
29
+ <div id="nav">
30
+
31
+ <span><a target="_self" href="class_list.html">
32
+ Classes
33
+ </a></span>
34
+
35
+ <span><a target="_self" href="method_list.html">
36
+ Methods
37
+ </a></span>
38
+
39
+ <span><a target="_self" href="file_list.html">
40
+ Files
41
+ </a></span>
42
+
43
+ </div>
44
+ <div id="search">Search: <input type="text" /></div>
45
+
46
+ <ul id="full_list" class="class">
47
+ <li><span class='object_link'><a href="top-level-namespace.html" title=" (root)">Top Level Namespace</a></span></li>
48
+
49
+
50
+ </ul>
51
+ </div>
52
+ </body>
53
+ </html>
@@ -0,0 +1 @@
1
+ /* Override this file with custom rules */
@@ -0,0 +1,57 @@
1
+ body {
2
+ margin: 0;
3
+ font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
4
+ font-size: 13px;
5
+ height: 101%;
6
+ overflow-x: hidden;
7
+ }
8
+
9
+ h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; }
10
+ .clear { clear: both; }
11
+ #search { position: absolute; right: 5px; top: 9px; padding-left: 24px; }
12
+ #content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; }
13
+ #full_list { padding: 0; list-style: none; margin-left: 0; }
14
+ #full_list ul { padding: 0; }
15
+ #full_list li { padding: 5px; padding-left: 12px; margin: 0; font-size: 1.1em; list-style: none; }
16
+ #noresults { padding: 7px 12px; }
17
+ #content.insearch #noresults { margin-left: 7px; }
18
+ ul.collapsed ul, ul.collapsed li { display: none; }
19
+ ul.collapsed.search_uncollapsed { display: block; }
20
+ ul.collapsed.search_uncollapsed li { display: list-item; }
21
+ li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
22
+ li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
23
+ li { color: #888; cursor: pointer; }
24
+ li.deprecated { text-decoration: line-through; font-style: italic; }
25
+ li.r1 { background: #f0f0f0; }
26
+ li.r2 { background: #fafafa; }
27
+ li:hover { background: #ddd; }
28
+ li small:before { content: "("; }
29
+ li small:after { content: ")"; }
30
+ li small.search_info { display: none; }
31
+ a:link, a:visited { text-decoration: none; color: #05a; }
32
+ li.clicked { background: #05a; color: #ccc; }
33
+ li.clicked a:link, li.clicked a:visited { color: #eee; }
34
+ li.clicked a.toggle { opacity: 0.5; background-position: bottom right; }
35
+ li.collapsed.clicked a.toggle { background-position: top right; }
36
+ #search input { border: 1px solid #bbb; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
37
+ #nav { margin-left: 10px; font-size: 0.9em; display: none; color: #aaa; }
38
+ #nav a:link, #nav a:visited { color: #358; }
39
+ #nav a:hover { background: transparent; color: #5af; }
40
+ .frames #nav span:after { content: ' | '; }
41
+ .frames #nav span:last-child:after { content: ''; }
42
+
43
+ .frames #content h1 { margin-top: 0; }
44
+ .frames li { white-space: nowrap; cursor: normal; }
45
+ .frames li small { display: block; font-size: 0.8em; }
46
+ .frames li small:before { content: ""; }
47
+ .frames li small:after { content: ""; }
48
+ .frames li small.search_info { display: none; }
49
+ .frames #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
50
+ .frames #content.insearch #search { background-position: center right; }
51
+ .frames #search input { width: 110px; }
52
+ .frames #nav { display: block; }
53
+
54
+ #full_list.insearch li { display: none; }
55
+ #full_list.insearch li.found { display: list-item; padding-left: 10px; }
56
+ #full_list.insearch li a.toggle { display: none; }
57
+ #full_list.insearch li small.search_info { display: block; }