axlsx 1.2.0 → 2.0.0

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 (208) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +3 -2
  3. data/.yardopts_guide +19 -0
  4. data/CHANGELOG.md +64 -1
  5. data/README.md +105 -87
  6. data/Rakefile +0 -5
  7. data/examples/2010_comments.rb +17 -0
  8. data/examples/anchor_swapping.rb +28 -0
  9. data/examples/auto_filter.rb +16 -0
  10. data/examples/basic_charts.rb +4 -0
  11. data/examples/colored_links.rb +59 -0
  12. data/examples/conditional_formatting/example_conditional_formatting.rb +4 -2
  13. data/examples/example.rb +569 -258
  14. data/examples/ios_preview.rb +14 -0
  15. data/examples/page_setup.rb +11 -0
  16. data/examples/pivot_table.rb +39 -0
  17. data/examples/skydrive/real_example.rb +8 -8
  18. data/examples/styles.rb +66 -0
  19. data/examples/underline.rb +13 -0
  20. data/examples/wrap_text.rb +21 -0
  21. data/lib/axlsx/content_type/abstract_content_type.rb +32 -0
  22. data/lib/axlsx/content_type/content_type.rb +1 -1
  23. data/lib/axlsx/content_type/default.rb +6 -37
  24. data/lib/axlsx/content_type/override.rb +6 -38
  25. data/lib/axlsx/doc_props/app.rb +10 -7
  26. data/lib/axlsx/doc_props/core.rb +6 -1
  27. data/lib/axlsx/drawing/axes.rb +61 -0
  28. data/lib/axlsx/drawing/axis.rb +20 -17
  29. data/lib/axlsx/drawing/bar_3D_chart.rb +31 -22
  30. data/lib/axlsx/drawing/cat_axis.rb +2 -10
  31. data/lib/axlsx/drawing/chart.rb +33 -6
  32. data/lib/axlsx/drawing/d_lbls.rb +21 -31
  33. data/lib/axlsx/drawing/drawing.rb +11 -17
  34. data/lib/axlsx/drawing/graphic_frame.rb +3 -3
  35. data/lib/axlsx/drawing/hyperlink.rb +42 -36
  36. data/lib/axlsx/drawing/line_3D_chart.rb +28 -70
  37. data/lib/axlsx/drawing/line_chart.rb +99 -0
  38. data/lib/axlsx/drawing/line_series.rb +20 -2
  39. data/lib/axlsx/drawing/marker.rb +38 -18
  40. data/lib/axlsx/drawing/num_data.rb +6 -6
  41. data/lib/axlsx/drawing/num_data_source.rb +17 -16
  42. data/lib/axlsx/drawing/one_cell_anchor.rb +28 -21
  43. data/lib/axlsx/drawing/pic.rb +43 -45
  44. data/lib/axlsx/drawing/picture_locking.rb +12 -44
  45. data/lib/axlsx/drawing/pie_3D_chart.rb +2 -1
  46. data/lib/axlsx/drawing/scaling.rb +13 -13
  47. data/lib/axlsx/drawing/scatter_chart.rb +32 -21
  48. data/lib/axlsx/drawing/ser_axis.rb +15 -16
  49. data/lib/axlsx/drawing/series.rb +3 -6
  50. data/lib/axlsx/drawing/str_data.rb +3 -3
  51. data/lib/axlsx/drawing/str_val.rb +7 -8
  52. data/lib/axlsx/drawing/two_cell_anchor.rb +7 -27
  53. data/lib/axlsx/drawing/val_axis.rb +14 -13
  54. data/lib/axlsx/drawing/view_3D.rb +52 -38
  55. data/lib/axlsx/drawing/vml_shape.rb +20 -79
  56. data/lib/axlsx/package.rb +58 -28
  57. data/lib/axlsx/rels/relationship.rb +75 -9
  58. data/lib/axlsx/rels/relationships.rb +8 -1
  59. data/lib/axlsx/stylesheet/border.rb +29 -20
  60. data/lib/axlsx/stylesheet/border_pr.rb +5 -4
  61. data/lib/axlsx/stylesheet/cell_alignment.rb +55 -29
  62. data/lib/axlsx/stylesheet/cell_protection.rb +7 -4
  63. data/lib/axlsx/stylesheet/cell_style.rb +19 -14
  64. data/lib/axlsx/stylesheet/color.rb +20 -17
  65. data/lib/axlsx/stylesheet/dxf.rb +4 -4
  66. data/lib/axlsx/stylesheet/font.rb +22 -22
  67. data/lib/axlsx/stylesheet/gradient_fill.rb +45 -21
  68. data/lib/axlsx/stylesheet/num_fmt.rb +23 -14
  69. data/lib/axlsx/stylesheet/pattern_fill.rb +12 -21
  70. data/lib/axlsx/stylesheet/styles.rb +37 -22
  71. data/lib/axlsx/stylesheet/table_style.rb +17 -16
  72. data/lib/axlsx/stylesheet/table_style_element.rb +15 -11
  73. data/lib/axlsx/stylesheet/table_styles.rb +14 -11
  74. data/lib/axlsx/stylesheet/xf.rb +28 -26
  75. data/lib/axlsx/util/accessors.rb +64 -0
  76. data/lib/axlsx/util/constants.rb +127 -6
  77. data/lib/axlsx/util/options_parser.rb +15 -0
  78. data/lib/axlsx/util/serialized_attributes.rb +79 -0
  79. data/lib/axlsx/util/simple_typed_list.rb +50 -15
  80. data/lib/axlsx/util/validators.rb +51 -16
  81. data/lib/axlsx/version.rb +2 -2
  82. data/lib/axlsx/workbook/defined_name.rb +14 -59
  83. data/lib/axlsx/workbook/shared_strings_table.rb +13 -4
  84. data/lib/axlsx/workbook/workbook.rb +85 -6
  85. data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -0
  86. data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -0
  87. data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +246 -0
  88. data/lib/axlsx/workbook/worksheet/break.rb +37 -0
  89. data/lib/axlsx/workbook/worksheet/cell.rb +109 -107
  90. data/lib/axlsx/workbook/worksheet/cell_serializer.rb +144 -0
  91. data/lib/axlsx/workbook/worksheet/cfvo.rb +15 -15
  92. data/lib/axlsx/workbook/worksheet/cfvos.rb +15 -0
  93. data/lib/axlsx/workbook/worksheet/col.rb +43 -29
  94. data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -0
  95. data/lib/axlsx/workbook/worksheet/color_scale.rb +62 -28
  96. data/lib/axlsx/workbook/worksheet/comment.rb +28 -37
  97. data/lib/axlsx/workbook/worksheet/comments.rb +3 -3
  98. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +11 -11
  99. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +31 -27
  100. data/lib/axlsx/workbook/worksheet/data_bar.rb +75 -41
  101. data/lib/axlsx/workbook/worksheet/data_validation.rb +61 -62
  102. data/lib/axlsx/workbook/worksheet/date_time_converter.rb +6 -5
  103. data/lib/axlsx/workbook/worksheet/dimension.rb +0 -1
  104. data/lib/axlsx/workbook/worksheet/header_footer.rb +54 -0
  105. data/lib/axlsx/workbook/worksheet/icon_set.rb +20 -20
  106. data/lib/axlsx/workbook/worksheet/page_margins.rb +21 -19
  107. data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -0
  108. data/lib/axlsx/workbook/worksheet/page_setup.rb +152 -23
  109. data/lib/axlsx/workbook/worksheet/pane.rb +48 -51
  110. data/lib/axlsx/workbook/worksheet/pivot_table.rb +273 -0
  111. data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -0
  112. data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -0
  113. data/lib/axlsx/workbook/worksheet/print_options.rb +8 -30
  114. data/lib/axlsx/workbook/worksheet/protected_range.rb +16 -13
  115. data/lib/axlsx/workbook/worksheet/row.rb +59 -83
  116. data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -0
  117. data/lib/axlsx/workbook/worksheet/selection.rb +30 -38
  118. data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -0
  119. data/lib/axlsx/workbook/worksheet/sheet_format_pr.rb +60 -0
  120. data/lib/axlsx/workbook/worksheet/sheet_pr.rb +49 -4
  121. data/lib/axlsx/workbook/worksheet/sheet_protection.rb +51 -155
  122. data/lib/axlsx/workbook/worksheet/sheet_view.rb +68 -234
  123. data/lib/axlsx/workbook/worksheet/table.rb +25 -19
  124. data/lib/axlsx/workbook/worksheet/table_style_info.rb +51 -0
  125. data/lib/axlsx/workbook/worksheet/tables.rb +1 -1
  126. data/lib/axlsx/workbook/worksheet/worksheet.rb +174 -35
  127. data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +6 -5
  128. data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +4 -10
  129. data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -0
  130. data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -0
  131. data/lib/axlsx.rb +55 -5
  132. data/lib/schema/sml.xsd +4 -0
  133. data/test/axlsx.qcachegrind +2226 -0
  134. data/test/benchmark.rb +2 -3
  135. data/test/content_type/tc_default.rb +0 -11
  136. data/test/content_type/tc_override.rb +0 -13
  137. data/test/doc_props/tc_core.rb +7 -0
  138. data/test/drawing/tc_axes.rb +8 -0
  139. data/test/drawing/tc_axis.rb +15 -17
  140. data/test/drawing/tc_bar_3D_chart.rb +6 -0
  141. data/test/drawing/tc_cat_axis.rb +9 -9
  142. data/test/drawing/tc_chart.rb +20 -0
  143. data/test/drawing/tc_d_lbls.rb +14 -4
  144. data/test/drawing/tc_drawing.rb +0 -5
  145. data/test/drawing/tc_graphic_frame.rb +5 -3
  146. data/test/drawing/tc_hyperlink.rb +0 -4
  147. data/test/drawing/tc_line_chart.rb +39 -0
  148. data/test/drawing/tc_line_series.rb +8 -2
  149. data/test/drawing/tc_pic.rb +14 -3
  150. data/test/drawing/tc_ser_axis.rb +13 -12
  151. data/test/drawing/tc_two_cell_anchor.rb +3 -3
  152. data/test/drawing/tc_val_axis.rb +6 -6
  153. data/test/drawing/tc_vml_shape.rb +9 -3
  154. data/test/profile.rb +11 -21
  155. data/test/rels/tc_relationship.rb +32 -9
  156. data/test/rels/tc_relationships.rb +12 -1
  157. data/test/stylesheet/tc_color.rb +6 -0
  158. data/test/stylesheet/tc_styles.rb +15 -2
  159. data/test/tc_axlsx.rb +35 -2
  160. data/test/tc_helper.rb +7 -1
  161. data/test/tc_package.rb +44 -5
  162. data/test/util/tc_serialized_attributes.rb +19 -0
  163. data/test/util/tc_validators.rb +26 -1
  164. data/test/workbook/tc_defined_name.rb +2 -2
  165. data/test/workbook/tc_shared_strings_table.rb +6 -0
  166. data/test/workbook/tc_workbook.rb +38 -1
  167. data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +38 -0
  168. data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +76 -0
  169. data/test/workbook/worksheet/auto_filter/tc_filters.rb +50 -0
  170. data/test/workbook/worksheet/tc_break.rb +49 -0
  171. data/test/workbook/worksheet/tc_cell.rb +40 -6
  172. data/test/workbook/worksheet/tc_col.rb +11 -1
  173. data/test/workbook/worksheet/tc_color_scale.rb +31 -2
  174. data/test/workbook/worksheet/tc_comment.rb +21 -6
  175. data/test/workbook/worksheet/tc_comments.rb +2 -2
  176. data/test/workbook/worksheet/tc_conditional_formatting.rb +7 -0
  177. data/test/workbook/worksheet/tc_data_bar.rb +7 -0
  178. data/test/workbook/worksheet/tc_date_time_converter.rb +3 -11
  179. data/test/workbook/worksheet/tc_header_footer.rb +151 -0
  180. data/test/workbook/worksheet/tc_page_set_up_pr.rb +15 -0
  181. data/test/workbook/worksheet/tc_page_setup.rb +6 -1
  182. data/test/workbook/worksheet/tc_pane.rb +5 -45
  183. data/test/workbook/worksheet/tc_pivot_table.rb +120 -0
  184. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +54 -0
  185. data/test/workbook/worksheet/tc_row.rb +4 -4
  186. data/test/workbook/worksheet/tc_selection.rb +9 -48
  187. data/test/workbook/worksheet/tc_sheet_calc_pr.rb +18 -0
  188. data/test/workbook/worksheet/tc_sheet_format_pr.rb +88 -0
  189. data/test/workbook/worksheet/tc_sheet_pr.rb +27 -0
  190. data/test/workbook/worksheet/tc_sheet_view.rb +39 -39
  191. data/test/workbook/worksheet/{table/tc_table.rb → tc_table.rb} +8 -3
  192. data/test/workbook/worksheet/tc_table_style_info.rb +53 -0
  193. data/test/workbook/worksheet/tc_worksheet.rb +131 -16
  194. data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +55 -0
  195. metadata +97 -64
  196. data/examples/example.xlsx +0 -0
  197. data/examples/example_streamed.xlsx +0 -0
  198. data/examples/extractive.pdf +0 -0
  199. data/examples/image1.gif +0 -0
  200. data/examples/image1.jpg +0 -0
  201. data/examples/image1.png +0 -0
  202. data/examples/no-use_autowidth.xlsx +0 -0
  203. data/examples/sample.png +0 -0
  204. data/examples/scraping_html.rb +0 -91
  205. data/examples/shared_strings_example.xlsx +0 -0
  206. data/examples/sheet_view.rb +0 -34
  207. data/examples/two_cell_anchor_image.rb +0 -11
  208. data/lib/axlsx/workbook/worksheet/auto_filter.rb +0 -34
metadata CHANGED
@@ -1,52 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: axlsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
5
- prerelease:
4
+ version: 2.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Randy Morgan
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-08-05 00:00:00.000000000 Z
11
+ date: 2013-09-13 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: nokogiri
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.4.1
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: 1.4.1
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rubyzip
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '='
36
32
  - !ruby/object:Gem::Version
37
- version: 0.9.5
33
+ version: 0.9.9
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '='
44
39
  - !ruby/object:Gem::Version
45
- version: 0.9.5
40
+ version: 0.9.9
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: htmlentities
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,70 +55,60 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: yard
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: kramdown
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
82
  version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
- name: cover_me
84
+ name: timecop
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - ~>
100
88
  - !ruby/object:Gem::Version
101
- version: '0'
89
+ version: 0.6.1
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - ~>
108
95
  - !ruby/object:Gem::Version
109
- version: '0'
110
- description: ! ' xlsx generation with charts, images, automated column width, customizable
111
- styles and full schema validation. Axlsx excels at helping you generate beautiful
112
- Office Open XML Spreadsheet documents without having to understand the entire ECMA
113
- specification. Check out the README for some examples of how easy it is. Best of
114
- all, you can validate your xlsx file before serialization so you know for sure that
115
- anything generated is going to load on your client''s machine.
116
-
117
- '
96
+ version: 0.6.1
97
+ description: |2
98
+ xlsx spreadsheet generation with charts, images, automated column width, customizable styles and full schema validation. Axlsx helps you create beautiful Office Open XML Spreadsheet documents ( Excel, Google Spreadsheets, Numbers, LibreOffice) without having to understand the entire ECMA specification. Check out the README for some examples of how easy it is. Best of all, you can validate your xlsx file before serialization so you know for sure that anything generated is going to load on your client's machine.
118
99
  email: digital.ipseity@gmail.com
119
100
  executables: []
120
101
  extensions: []
121
102
  extra_rdoc_files: []
122
103
  files:
104
+ - lib/axlsx/content_type/abstract_content_type.rb
123
105
  - lib/axlsx/content_type/content_type.rb
124
106
  - lib/axlsx/content_type/default.rb
125
107
  - lib/axlsx/content_type/override.rb
126
108
  - lib/axlsx/doc_props/app.rb
127
109
  - lib/axlsx/doc_props/core.rb
128
110
  - lib/axlsx/drawing/ax_data_source.rb
111
+ - lib/axlsx/drawing/axes.rb
129
112
  - lib/axlsx/drawing/axis.rb
130
113
  - lib/axlsx/drawing/bar_3D_chart.rb
131
114
  - lib/axlsx/drawing/bar_series.rb
@@ -136,6 +119,7 @@ files:
136
119
  - lib/axlsx/drawing/graphic_frame.rb
137
120
  - lib/axlsx/drawing/hyperlink.rb
138
121
  - lib/axlsx/drawing/line_3D_chart.rb
122
+ - lib/axlsx/drawing/line_chart.rb
139
123
  - lib/axlsx/drawing/line_series.rb
140
124
  - lib/axlsx/drawing/marker.rb
141
125
  - lib/axlsx/drawing/num_data.rb
@@ -181,8 +165,11 @@ files:
181
165
  - lib/axlsx/stylesheet/table_style_element.rb
182
166
  - lib/axlsx/stylesheet/table_styles.rb
183
167
  - lib/axlsx/stylesheet/xf.rb
168
+ - lib/axlsx/util/accessors.rb
184
169
  - lib/axlsx/util/constants.rb
170
+ - lib/axlsx/util/options_parser.rb
185
171
  - lib/axlsx/util/parser.rb
172
+ - lib/axlsx/util/serialized_attributes.rb
186
173
  - lib/axlsx/util/simple_typed_list.rb
187
174
  - lib/axlsx/util/storage.rb
188
175
  - lib/axlsx/util/validators.rb
@@ -191,10 +178,16 @@ files:
191
178
  - lib/axlsx/workbook/defined_names.rb
192
179
  - lib/axlsx/workbook/shared_strings_table.rb
193
180
  - lib/axlsx/workbook/workbook.rb
194
- - lib/axlsx/workbook/worksheet/auto_filter.rb
181
+ - lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb
182
+ - lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb
183
+ - lib/axlsx/workbook/worksheet/auto_filter/filters.rb
184
+ - lib/axlsx/workbook/worksheet/break.rb
195
185
  - lib/axlsx/workbook/worksheet/cell.rb
186
+ - lib/axlsx/workbook/worksheet/cell_serializer.rb
196
187
  - lib/axlsx/workbook/worksheet/cfvo.rb
188
+ - lib/axlsx/workbook/worksheet/cfvos.rb
197
189
  - lib/axlsx/workbook/worksheet/col.rb
190
+ - lib/axlsx/workbook/worksheet/col_breaks.rb
198
191
  - lib/axlsx/workbook/worksheet/color_scale.rb
199
192
  - lib/axlsx/workbook/worksheet/cols.rb
200
193
  - lib/axlsx/workbook/worksheet/comment.rb
@@ -207,25 +200,36 @@ files:
207
200
  - lib/axlsx/workbook/worksheet/data_validations.rb
208
201
  - lib/axlsx/workbook/worksheet/date_time_converter.rb
209
202
  - lib/axlsx/workbook/worksheet/dimension.rb
203
+ - lib/axlsx/workbook/worksheet/header_footer.rb
210
204
  - lib/axlsx/workbook/worksheet/icon_set.rb
211
205
  - lib/axlsx/workbook/worksheet/merged_cells.rb
212
206
  - lib/axlsx/workbook/worksheet/page_margins.rb
207
+ - lib/axlsx/workbook/worksheet/page_set_up_pr.rb
213
208
  - lib/axlsx/workbook/worksheet/page_setup.rb
214
209
  - lib/axlsx/workbook/worksheet/pane.rb
210
+ - lib/axlsx/workbook/worksheet/pivot_table.rb
211
+ - lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb
212
+ - lib/axlsx/workbook/worksheet/pivot_tables.rb
215
213
  - lib/axlsx/workbook/worksheet/print_options.rb
216
214
  - lib/axlsx/workbook/worksheet/protected_range.rb
217
215
  - lib/axlsx/workbook/worksheet/protected_ranges.rb
218
216
  - lib/axlsx/workbook/worksheet/row.rb
217
+ - lib/axlsx/workbook/worksheet/row_breaks.rb
219
218
  - lib/axlsx/workbook/worksheet/selection.rb
219
+ - lib/axlsx/workbook/worksheet/sheet_calc_pr.rb
220
220
  - lib/axlsx/workbook/worksheet/sheet_data.rb
221
+ - lib/axlsx/workbook/worksheet/sheet_format_pr.rb
221
222
  - lib/axlsx/workbook/worksheet/sheet_pr.rb
222
223
  - lib/axlsx/workbook/worksheet/sheet_protection.rb
223
224
  - lib/axlsx/workbook/worksheet/sheet_view.rb
224
225
  - lib/axlsx/workbook/worksheet/table.rb
226
+ - lib/axlsx/workbook/worksheet/table_style_info.rb
225
227
  - lib/axlsx/workbook/worksheet/tables.rb
226
228
  - lib/axlsx/workbook/worksheet/worksheet.rb
227
229
  - lib/axlsx/workbook/worksheet/worksheet_comments.rb
228
230
  - lib/axlsx/workbook/worksheet/worksheet_drawing.rb
231
+ - lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb
232
+ - lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb
229
233
  - lib/axlsx.rb
230
234
  - lib/schema/dc.xsd
231
235
  - lib/schema/dcmitype.xsd
@@ -262,8 +266,12 @@ files:
262
266
  - lib/schema/vml-wordprocessingDrawing.xsd
263
267
  - lib/schema/wml.xsd
264
268
  - lib/schema/xml.xsd
269
+ - examples/2010_comments.rb
270
+ - examples/anchor_swapping.rb
271
+ - examples/auto_filter.rb
265
272
  - examples/basic_charts.rb
266
273
  - examples/chart_colors.rb
274
+ - examples/colored_links.rb
267
275
  - examples/conditional_formatting/example_conditional_formatting.rb
268
276
  - examples/conditional_formatting/getting_barred.rb
269
277
  - examples/conditional_formatting/hitting_the_high_notes.rb
@@ -271,33 +279,30 @@ files:
271
279
  - examples/conditional_formatting/stop_and_go.rb
272
280
  - examples/data_validation.rb
273
281
  - examples/example.rb
274
- - examples/example.xlsx
275
- - examples/example_streamed.xlsx
276
- - examples/extractive.pdf
277
282
  - examples/extractive.rb
278
- - examples/image1.gif
279
- - examples/image1.jpeg
280
- - examples/image1.jpg
281
- - examples/image1.png
282
- - examples/no-use_autowidth.xlsx
283
- - examples/sample.png
284
- - examples/scraping_html.rb
285
- - examples/shared_strings_example.xlsx
283
+ - examples/ios_preview.rb
284
+ - examples/page_setup.rb
285
+ - examples/pivot_table.rb
286
286
  - examples/sheet_protection.rb
287
- - examples/sheet_view.rb
288
287
  - examples/skydrive/real_example.rb
289
- - examples/two_cell_anchor_image.rb
288
+ - examples/styles.rb
289
+ - examples/underline.rb
290
+ - examples/wrap_text.rb
291
+ - examples/image1.jpeg
290
292
  - LICENSE
291
293
  - README.md
292
294
  - Rakefile
293
295
  - CHANGELOG.md
294
296
  - .yardopts
297
+ - .yardopts_guide
298
+ - test/axlsx.qcachegrind
295
299
  - test/benchmark.rb
296
300
  - test/content_type/tc_content_type.rb
297
301
  - test/content_type/tc_default.rb
298
302
  - test/content_type/tc_override.rb
299
303
  - test/doc_props/tc_app.rb
300
304
  - test/doc_props/tc_core.rb
305
+ - test/drawing/tc_axes.rb
301
306
  - test/drawing/tc_axis.rb
302
307
  - test/drawing/tc_bar_3D_chart.rb
303
308
  - test/drawing/tc_bar_series.rb
@@ -310,6 +315,7 @@ files:
310
315
  - test/drawing/tc_graphic_frame.rb
311
316
  - test/drawing/tc_hyperlink.rb
312
317
  - test/drawing/tc_line_3d_chart.rb
318
+ - test/drawing/tc_line_chart.rb
313
319
  - test/drawing/tc_line_series.rb
314
320
  - test/drawing/tc_marker.rb
315
321
  - test/drawing/tc_named_axis_data.rb
@@ -358,12 +364,16 @@ files:
358
364
  - test/tc_axlsx.rb
359
365
  - test/tc_helper.rb
360
366
  - test/tc_package.rb
367
+ - test/util/tc_serialized_attributes.rb
361
368
  - test/util/tc_simple_typed_list.rb
362
369
  - test/util/tc_validators.rb
363
370
  - test/workbook/tc_defined_name.rb
364
371
  - test/workbook/tc_shared_strings_table.rb
365
372
  - test/workbook/tc_workbook.rb
366
- - test/workbook/worksheet/table/tc_table.rb
373
+ - test/workbook/worksheet/auto_filter/tc_auto_filter.rb
374
+ - test/workbook/worksheet/auto_filter/tc_filter_column.rb
375
+ - test/workbook/worksheet/auto_filter/tc_filters.rb
376
+ - test/workbook/worksheet/tc_break.rb
367
377
  - test/workbook/worksheet/tc_cell.rb
368
378
  - test/workbook/worksheet/tc_cfvo.rb
369
379
  - test/workbook/worksheet/tc_col.rb
@@ -374,51 +384,59 @@ files:
374
384
  - test/workbook/worksheet/tc_data_bar.rb
375
385
  - test/workbook/worksheet/tc_data_validation.rb
376
386
  - test/workbook/worksheet/tc_date_time_converter.rb
387
+ - test/workbook/worksheet/tc_header_footer.rb
377
388
  - test/workbook/worksheet/tc_icon_set.rb
378
389
  - test/workbook/worksheet/tc_page_margins.rb
390
+ - test/workbook/worksheet/tc_page_set_up_pr.rb
379
391
  - test/workbook/worksheet/tc_page_setup.rb
380
392
  - test/workbook/worksheet/tc_pane.rb
393
+ - test/workbook/worksheet/tc_pivot_table.rb
394
+ - test/workbook/worksheet/tc_pivot_table_cache_definition.rb
381
395
  - test/workbook/worksheet/tc_print_options.rb
382
396
  - test/workbook/worksheet/tc_protected_range.rb
383
397
  - test/workbook/worksheet/tc_row.rb
384
398
  - test/workbook/worksheet/tc_selection.rb
399
+ - test/workbook/worksheet/tc_sheet_calc_pr.rb
400
+ - test/workbook/worksheet/tc_sheet_format_pr.rb
401
+ - test/workbook/worksheet/tc_sheet_pr.rb
385
402
  - test/workbook/worksheet/tc_sheet_protection.rb
386
403
  - test/workbook/worksheet/tc_sheet_view.rb
404
+ - test/workbook/worksheet/tc_table.rb
405
+ - test/workbook/worksheet/tc_table_style_info.rb
387
406
  - test/workbook/worksheet/tc_worksheet.rb
407
+ - test/workbook/worksheet/tc_worksheet_hyperlink.rb
388
408
  homepage: https://github.com/randym/axlsx
389
409
  licenses: []
410
+ metadata: {}
390
411
  post_install_message:
391
412
  rdoc_options: []
392
413
  require_paths:
393
414
  - lib
394
415
  required_ruby_version: !ruby/object:Gem::Requirement
395
- none: false
396
416
  requirements:
397
- - - ! '>='
417
+ - - '>='
398
418
  - !ruby/object:Gem::Version
399
- version: 1.8.7
419
+ version: 1.9.2
400
420
  required_rubygems_version: !ruby/object:Gem::Requirement
401
- none: false
402
421
  requirements:
403
- - - ! '>='
422
+ - - '>='
404
423
  - !ruby/object:Gem::Version
405
424
  version: '0'
406
- segments:
407
- - 0
408
- hash: 2125383540867602531
409
425
  requirements: []
410
426
  rubyforge_project:
411
- rubygems_version: 1.8.24
427
+ rubygems_version: 2.0.2
412
428
  signing_key:
413
- specification_version: 3
429
+ specification_version: 4
414
430
  summary: excel OOXML (xlsx) with charts, styles, images and autowidth columns.
415
431
  test_files:
432
+ - test/axlsx.qcachegrind
416
433
  - test/benchmark.rb
417
434
  - test/content_type/tc_content_type.rb
418
435
  - test/content_type/tc_default.rb
419
436
  - test/content_type/tc_override.rb
420
437
  - test/doc_props/tc_app.rb
421
438
  - test/doc_props/tc_core.rb
439
+ - test/drawing/tc_axes.rb
422
440
  - test/drawing/tc_axis.rb
423
441
  - test/drawing/tc_bar_3D_chart.rb
424
442
  - test/drawing/tc_bar_series.rb
@@ -431,6 +449,7 @@ test_files:
431
449
  - test/drawing/tc_graphic_frame.rb
432
450
  - test/drawing/tc_hyperlink.rb
433
451
  - test/drawing/tc_line_3d_chart.rb
452
+ - test/drawing/tc_line_chart.rb
434
453
  - test/drawing/tc_line_series.rb
435
454
  - test/drawing/tc_marker.rb
436
455
  - test/drawing/tc_named_axis_data.rb
@@ -479,12 +498,16 @@ test_files:
479
498
  - test/tc_axlsx.rb
480
499
  - test/tc_helper.rb
481
500
  - test/tc_package.rb
501
+ - test/util/tc_serialized_attributes.rb
482
502
  - test/util/tc_simple_typed_list.rb
483
503
  - test/util/tc_validators.rb
484
504
  - test/workbook/tc_defined_name.rb
485
505
  - test/workbook/tc_shared_strings_table.rb
486
506
  - test/workbook/tc_workbook.rb
487
- - test/workbook/worksheet/table/tc_table.rb
507
+ - test/workbook/worksheet/auto_filter/tc_auto_filter.rb
508
+ - test/workbook/worksheet/auto_filter/tc_filter_column.rb
509
+ - test/workbook/worksheet/auto_filter/tc_filters.rb
510
+ - test/workbook/worksheet/tc_break.rb
488
511
  - test/workbook/worksheet/tc_cell.rb
489
512
  - test/workbook/worksheet/tc_cfvo.rb
490
513
  - test/workbook/worksheet/tc_col.rb
@@ -495,15 +518,25 @@ test_files:
495
518
  - test/workbook/worksheet/tc_data_bar.rb
496
519
  - test/workbook/worksheet/tc_data_validation.rb
497
520
  - test/workbook/worksheet/tc_date_time_converter.rb
521
+ - test/workbook/worksheet/tc_header_footer.rb
498
522
  - test/workbook/worksheet/tc_icon_set.rb
499
523
  - test/workbook/worksheet/tc_page_margins.rb
524
+ - test/workbook/worksheet/tc_page_set_up_pr.rb
500
525
  - test/workbook/worksheet/tc_page_setup.rb
501
526
  - test/workbook/worksheet/tc_pane.rb
527
+ - test/workbook/worksheet/tc_pivot_table.rb
528
+ - test/workbook/worksheet/tc_pivot_table_cache_definition.rb
502
529
  - test/workbook/worksheet/tc_print_options.rb
503
530
  - test/workbook/worksheet/tc_protected_range.rb
504
531
  - test/workbook/worksheet/tc_row.rb
505
532
  - test/workbook/worksheet/tc_selection.rb
533
+ - test/workbook/worksheet/tc_sheet_calc_pr.rb
534
+ - test/workbook/worksheet/tc_sheet_format_pr.rb
535
+ - test/workbook/worksheet/tc_sheet_pr.rb
506
536
  - test/workbook/worksheet/tc_sheet_protection.rb
507
537
  - test/workbook/worksheet/tc_sheet_view.rb
538
+ - test/workbook/worksheet/tc_table.rb
539
+ - test/workbook/worksheet/tc_table_style_info.rb
508
540
  - test/workbook/worksheet/tc_worksheet.rb
541
+ - test/workbook/worksheet/tc_worksheet_hyperlink.rb
509
542
  has_rdoc: axlsx
Binary file
Binary file
Binary file
data/examples/image1.gif DELETED
Binary file
data/examples/image1.jpg DELETED
Binary file
data/examples/image1.png DELETED
Binary file
Binary file
data/examples/sample.png DELETED
Binary file
@@ -1,91 +0,0 @@
1
- require 'rubygems'
2
- require 'nokogiri'
3
- require 'open-uri'
4
- require 'axlsx'
5
-
6
- class Scraper
7
-
8
- def initialize(url, selector)
9
- @url = url
10
- @selector = selector
11
- end
12
-
13
- def hooks
14
- @hooks ||= {}
15
- end
16
-
17
- def add_hook(clue, p_roc)
18
- hooks[clue] = p_roc
19
- end
20
-
21
- def export(file_name)
22
- Scraper.clues.each do |clue|
23
- if detail = parse_clue(clue)
24
- output << [clue, detail.pop]
25
- detail.each { |datum| output << ['', datum] }
26
- end
27
- end
28
- serialize(file_name)
29
- end
30
-
31
- private
32
-
33
- def self.clues
34
- @clues ||= ['Operating system', 'Processors', 'Chipset', 'Memory type', 'Hard drive', 'Graphics',
35
- 'Ports', 'Webcam', 'Pointing device', 'Keyboard', 'Network interface', 'Chipset', 'Wireless',
36
- 'Power supply type', 'Energy efficiency', 'Weight', 'Minimum dimensions (W x D x H)',
37
- 'Warranty', 'Software included', 'Product color']
38
- end
39
-
40
- def doc
41
- @doc ||= begin
42
- Nokogiri::HTML(open(@url))
43
- rescue
44
- raise ArgumentError, 'Invalid URL - Nothing to parse'
45
- end
46
- end
47
-
48
- def output
49
- @output ||= []
50
- end
51
-
52
- def selector_for_clue(clue)
53
- @selector % clue
54
- end
55
-
56
- def parse_clue(clue)
57
- if element = doc.at(selector_for_clue(clue))
58
- call_hook(clue, element) || element.inner_html.split('<br>').each(&:strip)
59
- end
60
- end
61
-
62
- def call_hook(clue, element)
63
- if hooks[clue].is_a? Proc
64
- value = hooks[clue].call(element)
65
- value.is_a?(Array) ? value : [value]
66
- end
67
- end
68
-
69
- def package
70
- @package ||= Axlsx::Package.new
71
- end
72
-
73
- def serialize(file_name)
74
- package.workbook.add_worksheet do |sheet|
75
- output.each { |datum| sheet.add_row datum }
76
- end
77
- package.serialize(file_name)
78
- end
79
- end
80
-
81
- scraper = Scraper.new("http://h10010.www1.hp.com/wwpc/ie/en/ho/WF06b/321957-321957-3329742-89318-89318-5186820-5231694.html?dnr=1", "//td[text()='%s']/following-sibling::td")
82
-
83
- # define a custom action to take against any elements found.
84
- os_parse = Proc.new do |element|
85
- element.inner_html.split('<br>').each(&:strip!).each(&:upcase!)
86
- end
87
-
88
- scraper.add_hook('Operating system', os_parse)
89
-
90
- scraper.export('foo.xlsx')
91
-
Binary file
@@ -1,34 +0,0 @@
1
- #!/usr/bin/env ruby -w -s
2
- # -*- coding: utf-8 -*-
3
- $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
4
- require 'axlsx'
5
-
6
- p = Axlsx::Package.new
7
- ws = p.workbook.add_worksheet :name => "Sheetview - Split"
8
- ws.sheet_view do |vs|
9
- vs.pane do |p|
10
- p.active_pane = :top_right
11
- p.state = :split
12
- p.x_split = 11080
13
- p.y_split = 5000
14
- p.top_left_cell = 'C44'
15
- end
16
-
17
- vs.add_selection(:top_left, { :active_cell => 'A2', :sqref => 'A2' })
18
- vs.add_selection(:top_right, { :active_cell => 'I10', :sqref => 'I10' })
19
- vs.add_selection(:bottom_left, { :active_cell => 'E55', :sqref => 'E55' })
20
- vs.add_selection(:bottom_right, { :active_cell => 'I57', :sqref => 'I57' })
21
- end
22
-
23
-
24
- ws = p.workbook.add_worksheet :name => "Sheetview - Frozen"
25
- ws.sheet_view do |vs|
26
- vs.pane do |p|
27
- p.state = :frozen
28
- p.x_split = 3
29
- p.y_split = 4
30
- end
31
- end
32
-
33
-
34
- p.serialize 'sheet_view.xlsx'
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env ruby -w -s
2
- # -*- coding: utf-8 -*-
3
- $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
4
- require 'axlsx'
5
-
6
- p = Axlsx::Package.new
7
- src = "#{File.dirname(__FILE__)}/image1.png"
8
- p.workbook.add_worksheet(:name => 'double_anchor') do |ws|
9
- ws.add_image(:image_src => src, :start_at => [0,0], :end_at => [2,4])
10
- end
11
- p.serialize('two_cell_anchor_image.xlsx')
@@ -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