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.
- data/.yardopts +3 -2
- data/CHANGELOG.md +34 -1
- data/README.md +47 -33
- data/Rakefile +1 -1
- data/examples/auto_filter.rb +16 -0
- data/examples/basic_charts.rb +4 -0
- data/examples/colored_links.rb +59 -0
- data/examples/doc/_index.html +88 -0
- data/examples/doc/class_list.html +53 -0
- data/examples/doc/css/common.css +1 -0
- data/examples/doc/css/full_list.css +57 -0
- data/examples/doc/css/style.css +328 -0
- data/examples/doc/file_list.html +52 -0
- data/examples/doc/frames.html +28 -0
- data/examples/doc/index.html +88 -0
- data/examples/doc/js/app.js +214 -0
- data/examples/doc/js/full_list.js +173 -0
- data/examples/doc/js/jquery.js +4 -0
- data/examples/doc/method_list.html +52 -0
- data/examples/doc/top-level-namespace.html +102 -0
- data/examples/example.rb +447 -257
- data/examples/finance.rb +82 -0
- data/examples/hyperlinks.rb +23 -0
- data/examples/page_setup.rb +11 -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/{example.xlsx → 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/lib/axlsx/content_type/abstract_content_type.rb +32 -0
- data/lib/axlsx/content_type/content_type.rb +1 -1
- data/lib/axlsx/content_type/default.rb +6 -37
- data/lib/axlsx/content_type/override.rb +6 -38
- data/lib/axlsx/doc_props/app.rb +10 -7
- data/lib/axlsx/drawing/axis.rb +4 -4
- data/lib/axlsx/drawing/chart.rb +2 -3
- data/lib/axlsx/drawing/d_lbls.rb +21 -31
- data/lib/axlsx/drawing/drawing.rb +6 -0
- data/lib/axlsx/drawing/hyperlink.rb +40 -32
- data/lib/axlsx/drawing/marker.rb +13 -13
- data/lib/axlsx/drawing/num_data.rb +6 -6
- data/lib/axlsx/drawing/num_data_source.rb +17 -16
- data/lib/axlsx/drawing/one_cell_anchor.rb +20 -22
- data/lib/axlsx/drawing/pic.rb +25 -27
- data/lib/axlsx/drawing/picture_locking.rb +12 -44
- data/lib/axlsx/drawing/scaling.rb +13 -13
- data/lib/axlsx/drawing/scatter_chart.rb +3 -3
- data/lib/axlsx/drawing/series.rb +3 -6
- data/lib/axlsx/drawing/str_data.rb +3 -3
- data/lib/axlsx/drawing/str_val.rb +7 -8
- data/lib/axlsx/drawing/view_3D.rb +52 -38
- data/lib/axlsx/drawing/vml_shape.rb +23 -23
- data/lib/axlsx/package.rb +14 -17
- data/lib/axlsx/stylesheet/border.rb +29 -20
- data/lib/axlsx/stylesheet/border_pr.rb +5 -4
- data/lib/axlsx/stylesheet/cell_alignment.rb +55 -29
- data/lib/axlsx/stylesheet/cell_protection.rb +7 -4
- data/lib/axlsx/stylesheet/cell_style.rb +19 -14
- data/lib/axlsx/stylesheet/color.rb +19 -16
- data/lib/axlsx/stylesheet/dxf.rb +4 -4
- data/lib/axlsx/stylesheet/font.rb +22 -22
- data/lib/axlsx/stylesheet/gradient_fill.rb +45 -21
- data/lib/axlsx/stylesheet/num_fmt.rb +22 -13
- data/lib/axlsx/stylesheet/pattern_fill.rb +12 -21
- data/lib/axlsx/stylesheet/styles.rb +11 -2
- data/lib/axlsx/stylesheet/table_style.rb +17 -16
- data/lib/axlsx/stylesheet/table_style_element.rb +15 -11
- data/lib/axlsx/stylesheet/table_styles.rb +14 -11
- data/lib/axlsx/stylesheet/xf.rb +28 -26
- data/lib/axlsx/util/accessors.rb +49 -0
- data/lib/axlsx/util/constants.rb +105 -4
- data/lib/axlsx/util/options_parser.rb +15 -0
- data/lib/axlsx/util/serialized_attributes.rb +46 -0
- data/lib/axlsx/util/simple_typed_list.rb +16 -2
- data/lib/axlsx/util/validators.rb +33 -8
- data/lib/axlsx/version.rb +2 -2
- data/lib/axlsx/workbook/defined_name.rb +13 -58
- data/lib/axlsx/workbook/workbook.rb +33 -2
- data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -0
- data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -0
- data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +246 -0
- data/lib/axlsx/workbook/worksheet/cell.rb +82 -45
- data/lib/axlsx/workbook/worksheet/cfvo.rb +15 -15
- data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -0
- data/lib/axlsx/workbook/worksheet/col.rb +34 -27
- data/lib/axlsx/workbook/worksheet/color_scale.rb +7 -13
- data/lib/axlsx/workbook/worksheet/comment.rb +14 -11
- data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +11 -11
- data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +27 -25
- data/lib/axlsx/workbook/worksheet/data_bar.rb +44 -34
- data/lib/axlsx/workbook/worksheet/data_validation.rb +61 -62
- data/lib/axlsx/workbook/worksheet/date_time_converter.rb +1 -1
- data/lib/axlsx/workbook/worksheet/dimension.rb +0 -1
- data/lib/axlsx/workbook/worksheet/icon_set.rb +20 -20
- data/lib/axlsx/workbook/worksheet/page_margins.rb +21 -19
- data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -0
- data/lib/axlsx/workbook/worksheet/page_setup.rb +152 -23
- data/lib/axlsx/workbook/worksheet/pane.rb +48 -51
- data/lib/axlsx/workbook/worksheet/print_options.rb +8 -30
- data/lib/axlsx/workbook/worksheet/protected_range.rb +16 -13
- data/lib/axlsx/workbook/worksheet/row.rb +48 -81
- data/lib/axlsx/workbook/worksheet/selection.rb +30 -38
- data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -0
- data/lib/axlsx/workbook/worksheet/sheet_pr.rb +49 -4
- data/lib/axlsx/workbook/worksheet/sheet_protection.rb +51 -155
- data/lib/axlsx/workbook/worksheet/sheet_view.rb +68 -234
- data/lib/axlsx/workbook/worksheet/table.rb +22 -17
- data/lib/axlsx/workbook/worksheet/table_style_info.rb +51 -0
- data/lib/axlsx/workbook/worksheet/worksheet.rb +51 -14
- data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +1 -1
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +79 -0
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -0
- data/lib/axlsx.rb +19 -5
- data/test/content_type/tc_default.rb +0 -11
- data/test/content_type/tc_override.rb +0 -13
- data/test/drawing/tc_d_lbls.rb +14 -4
- data/test/stylesheet/tc_styles.rb +13 -0
- data/test/tc_axlsx.rb +20 -2
- data/test/tc_package.rb +1 -0
- data/test/util/tc_validators.rb +22 -1
- data/test/workbook/tc_defined_name.rb +2 -2
- data/test/workbook/tc_workbook.rb +15 -0
- 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 +35 -5
- data/test/workbook/worksheet/tc_col.rb +11 -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_pane.rb +5 -45
- data/test/workbook/worksheet/tc_row.rb +4 -4
- data/test/workbook/worksheet/tc_selection.rb +9 -48
- 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 +74 -10
- data/examples/example_streamed.xlsx +0 -0
- data/examples/no-use_autowidth.xlsx +0 -0
- data/examples/shared_strings_example.xlsx +0 -0
- data/lib/axlsx/workbook/worksheet/auto_filter.rb +0 -34
data/.yardopts
CHANGED
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
|
[](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
|
[](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**:
|
|
18
|
+
**Author**: Randy Morgan
|
|
15
19
|
|
|
16
|
-
**Copyright**:
|
|
20
|
+
**Copyright**: 2011 - 2012
|
|
17
21
|
|
|
18
22
|
**License**: MIT License
|
|
19
23
|
|
|
20
|
-
**Latest Version**: 1.2
|
|
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**:
|
|
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
|
-
- **
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
-
|
|
168
|
-
|
|
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.
|
|
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')
|
data/examples/basic_charts.rb
CHANGED
|
@@ -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; }
|