axlsx 1.1.0 → 1.2.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 (214) hide show
  1. data/.yardopts +5 -2
  2. data/CHANGELOG.md +78 -0
  3. data/LICENSE +1 -1
  4. data/README.md +132 -331
  5. data/Rakefile +17 -5
  6. data/examples/basic_charts.rb +54 -0
  7. data/examples/chart_colors.rb +88 -0
  8. data/examples/conditional_formatting/example_conditional_formatting.rb +72 -0
  9. data/examples/conditional_formatting/getting_barred.rb +37 -0
  10. data/examples/conditional_formatting/hitting_the_high_notes.rb +37 -0
  11. data/examples/conditional_formatting/scaled_colors.rb +39 -0
  12. data/examples/conditional_formatting/stop_and_go.rb +37 -0
  13. data/examples/data_validation.rb +50 -0
  14. data/examples/example.rb +300 -152
  15. data/examples/example.xlsx +0 -0
  16. data/examples/example_streamed.xlsx +0 -0
  17. data/examples/extractive.pdf +0 -0
  18. data/examples/extractive.rb +45 -0
  19. data/examples/no-use_autowidth.xlsx +0 -0
  20. data/examples/sample.png +0 -0
  21. data/examples/scraping_html.rb +91 -0
  22. data/examples/shared_strings_example.xlsx +0 -0
  23. data/examples/sheet_protection.rb +10 -0
  24. data/examples/sheet_view.rb +34 -0
  25. data/examples/skydrive/real_example.rb +63 -0
  26. data/examples/two_cell_anchor_image.rb +11 -0
  27. data/lib/axlsx/content_type/content_type.rb +2 -0
  28. data/lib/axlsx/content_type/default.rb +30 -15
  29. data/lib/axlsx/content_type/override.rb +29 -14
  30. data/lib/axlsx/doc_props/app.rb +161 -104
  31. data/lib/axlsx/doc_props/core.rb +9 -5
  32. data/lib/axlsx/drawing/ax_data_source.rb +26 -0
  33. data/lib/axlsx/drawing/axis.rb +106 -35
  34. data/lib/axlsx/drawing/bar_3D_chart.rb +49 -45
  35. data/lib/axlsx/drawing/bar_series.rb +25 -7
  36. data/lib/axlsx/drawing/cat_axis.rb +50 -22
  37. data/lib/axlsx/drawing/chart.rb +69 -56
  38. data/lib/axlsx/drawing/d_lbls.rb +100 -0
  39. data/lib/axlsx/drawing/drawing.rb +28 -12
  40. data/lib/axlsx/drawing/graphic_frame.rb +2 -1
  41. data/lib/axlsx/drawing/line_3D_chart.rb +3 -10
  42. data/lib/axlsx/drawing/line_series.rb +20 -4
  43. data/lib/axlsx/drawing/num_data.rb +52 -0
  44. data/lib/axlsx/drawing/num_data_source.rb +61 -0
  45. data/lib/axlsx/drawing/num_val.rb +32 -0
  46. data/lib/axlsx/drawing/pic.rb +44 -4
  47. data/lib/axlsx/drawing/pie_3D_chart.rb +10 -7
  48. data/lib/axlsx/drawing/pie_series.rb +18 -4
  49. data/lib/axlsx/drawing/scatter_chart.rb +12 -18
  50. data/lib/axlsx/drawing/scatter_series.rb +28 -2
  51. data/lib/axlsx/drawing/ser_axis.rb +1 -1
  52. data/lib/axlsx/drawing/series.rb +1 -1
  53. data/lib/axlsx/drawing/str_data.rb +42 -0
  54. data/lib/axlsx/drawing/str_val.rb +33 -0
  55. data/lib/axlsx/drawing/title.rb +21 -9
  56. data/lib/axlsx/drawing/two_cell_anchor.rb +46 -9
  57. data/lib/axlsx/drawing/view_3D.rb +44 -31
  58. data/lib/axlsx/drawing/vml_drawing.rb +42 -0
  59. data/lib/axlsx/drawing/vml_shape.rb +125 -0
  60. data/lib/axlsx/package.rb +44 -16
  61. data/lib/axlsx/rels/relationship.rb +3 -3
  62. data/lib/axlsx/rels/relationships.rb +1 -11
  63. data/lib/axlsx/stylesheet/color.rb +0 -1
  64. data/lib/axlsx/stylesheet/dxf.rb +79 -0
  65. data/lib/axlsx/stylesheet/font.rb +2 -1
  66. data/lib/axlsx/stylesheet/gradient_fill.rb +1 -1
  67. data/lib/axlsx/stylesheet/styles.rb +143 -50
  68. data/lib/axlsx/stylesheet/table_style.rb +3 -3
  69. data/lib/axlsx/stylesheet/xf.rb +2 -0
  70. data/lib/axlsx/util/constants.rb +36 -0
  71. data/lib/axlsx/util/simple_typed_list.rb +15 -21
  72. data/lib/axlsx/util/validators.rb +122 -5
  73. data/lib/axlsx/version.rb +2 -7
  74. data/lib/axlsx/workbook/defined_name.rb +174 -0
  75. data/lib/axlsx/workbook/defined_names.rb +21 -0
  76. data/lib/axlsx/workbook/shared_strings_table.rb +12 -13
  77. data/lib/axlsx/workbook/workbook.rb +71 -13
  78. data/lib/axlsx/workbook/worksheet/auto_filter.rb +34 -0
  79. data/lib/axlsx/workbook/worksheet/cell.rb +45 -36
  80. data/lib/axlsx/workbook/worksheet/cfvo.rb +62 -0
  81. data/lib/axlsx/workbook/worksheet/col.rb +17 -1
  82. data/lib/axlsx/workbook/worksheet/color_scale.rb +76 -0
  83. data/lib/axlsx/workbook/worksheet/cols.rb +20 -0
  84. data/lib/axlsx/workbook/worksheet/comment.rb +101 -0
  85. data/lib/axlsx/workbook/worksheet/comments.rb +85 -0
  86. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -0
  87. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +216 -0
  88. data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -0
  89. data/lib/axlsx/workbook/worksheet/data_bar.rb +97 -0
  90. data/lib/axlsx/workbook/worksheet/data_validation.rb +245 -0
  91. data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -0
  92. data/lib/axlsx/workbook/worksheet/dimension.rb +65 -0
  93. data/lib/axlsx/workbook/worksheet/icon_set.rb +83 -0
  94. data/lib/axlsx/workbook/worksheet/merged_cells.rb +35 -0
  95. data/lib/axlsx/workbook/worksheet/page_setup.rb +113 -0
  96. data/lib/axlsx/workbook/worksheet/pane.rb +144 -0
  97. data/lib/axlsx/workbook/worksheet/print_options.rb +63 -0
  98. data/lib/axlsx/workbook/worksheet/protected_range.rb +46 -0
  99. data/lib/axlsx/workbook/worksheet/protected_ranges.rb +34 -0
  100. data/lib/axlsx/workbook/worksheet/row.rb +69 -12
  101. data/lib/axlsx/workbook/worksheet/selection.rb +111 -0
  102. data/lib/axlsx/workbook/worksheet/sheet_data.rb +25 -0
  103. data/lib/axlsx/workbook/worksheet/sheet_pr.rb +24 -0
  104. data/lib/axlsx/workbook/worksheet/sheet_protection.rb +224 -0
  105. data/lib/axlsx/workbook/worksheet/sheet_view.rb +379 -0
  106. data/lib/axlsx/workbook/worksheet/table.rb +3 -3
  107. data/lib/axlsx/workbook/worksheet/tables.rb +31 -0
  108. data/lib/axlsx/workbook/worksheet/worksheet.rb +379 -233
  109. data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +57 -0
  110. data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +64 -0
  111. data/lib/axlsx.rb +31 -16
  112. data/test/benchmark.rb +30 -38
  113. data/test/content_type/tc_content_type.rb +1 -6
  114. data/test/doc_props/tc_app.rb +31 -1
  115. data/test/doc_props/tc_core.rb +3 -1
  116. data/test/drawing/tc_axis.rb +46 -3
  117. data/test/drawing/tc_bar_3D_chart.rb +12 -12
  118. data/test/drawing/tc_bar_series.rb +17 -13
  119. data/test/drawing/tc_cat_axis.rb +3 -3
  120. data/test/drawing/tc_cat_axis_data.rb +23 -13
  121. data/test/drawing/tc_chart.rb +29 -11
  122. data/test/drawing/tc_d_lbls.rb +47 -0
  123. data/test/drawing/tc_data_source.rb +17 -0
  124. data/test/drawing/tc_drawing.rb +11 -5
  125. data/test/drawing/tc_hyperlink.rb +4 -5
  126. data/test/drawing/tc_line_series.rb +9 -11
  127. data/test/drawing/tc_named_axis_data.rb +27 -0
  128. data/test/drawing/tc_num_data.rb +31 -0
  129. data/test/drawing/tc_num_val.rb +29 -0
  130. data/test/drawing/tc_pic.rb +22 -2
  131. data/test/drawing/tc_pie_3D_chart.rb +4 -8
  132. data/test/drawing/tc_pie_series.rb +11 -13
  133. data/test/drawing/tc_scatter_chart.rb +6 -1
  134. data/test/drawing/tc_scatter_series.rb +6 -5
  135. data/test/drawing/tc_series.rb +1 -1
  136. data/test/drawing/tc_str_data.rb +18 -0
  137. data/test/drawing/tc_str_val.rb +21 -0
  138. data/test/drawing/tc_title.rb +16 -0
  139. data/test/drawing/tc_two_cell_anchor.rb +2 -3
  140. data/test/drawing/tc_view_3D.rb +18 -18
  141. data/test/drawing/tc_vml_drawing.rb +25 -0
  142. data/test/drawing/tc_vml_shape.rb +100 -0
  143. data/test/profile.rb +2 -1
  144. data/test/rels/tc_relationship.rb +1 -0
  145. data/test/stylesheet/tc_dxf.rb +81 -0
  146. data/test/stylesheet/tc_gradient_fill.rb +8 -0
  147. data/test/stylesheet/tc_pattern_fill.rb +7 -1
  148. data/test/stylesheet/tc_styles.rb +163 -3
  149. data/test/stylesheet/tc_table_style.rb +8 -0
  150. data/test/stylesheet/tc_table_style_element.rb +10 -1
  151. data/test/tc_helper.rb +1 -0
  152. data/test/tc_package.rb +93 -17
  153. data/test/util/tc_simple_typed_list.rb +13 -0
  154. data/test/util/tc_validators.rb +95 -9
  155. data/test/workbook/tc_defined_name.rb +41 -0
  156. data/test/workbook/tc_workbook.rb +5 -3
  157. data/test/workbook/worksheet/table/tc_table.rb +3 -11
  158. data/test/workbook/worksheet/tc_cell.rb +52 -18
  159. data/test/workbook/worksheet/tc_cfvo.rb +31 -0
  160. data/test/workbook/worksheet/tc_col.rb +9 -0
  161. data/test/workbook/worksheet/tc_color_scale.rb +29 -0
  162. data/test/workbook/worksheet/tc_comment.rb +57 -0
  163. data/test/workbook/worksheet/tc_comments.rb +57 -0
  164. data/test/workbook/worksheet/tc_conditional_formatting.rb +217 -0
  165. data/test/workbook/worksheet/tc_data_bar.rb +39 -0
  166. data/test/workbook/worksheet/tc_data_validation.rb +265 -0
  167. data/test/workbook/worksheet/tc_date_time_converter.rb +11 -5
  168. data/test/workbook/worksheet/tc_icon_set.rb +45 -0
  169. data/test/workbook/worksheet/tc_page_setup.rb +138 -0
  170. data/test/workbook/worksheet/tc_pane.rb +94 -0
  171. data/test/workbook/worksheet/tc_print_options.rb +72 -0
  172. data/test/workbook/worksheet/tc_protected_range.rb +17 -0
  173. data/test/workbook/worksheet/tc_row.rb +44 -13
  174. data/test/workbook/worksheet/tc_selection.rb +94 -0
  175. data/test/workbook/worksheet/tc_sheet_protection.rb +117 -0
  176. data/test/workbook/worksheet/tc_sheet_view.rb +214 -0
  177. data/test/workbook/worksheet/tc_worksheet.rb +147 -50
  178. metadata +216 -148
  179. data/examples/example.csv +0 -1000
  180. data/examples/example.rb~ +0 -112
  181. data/lib/axlsx/drawing/cat_axis_data.rb +0 -34
  182. data/lib/axlsx/drawing/hlink_click.rb~ +0 -0
  183. data/lib/axlsx/drawing/hyperlink.rb~ +0 -64
  184. data/lib/axlsx/drawing/named_axis_data.rb +0 -36
  185. data/lib/axlsx/drawing/picture_locking.rb~ +0 -36
  186. data/lib/axlsx/drawing/val_axis_data.rb +0 -27
  187. data/lib/axlsx/stylesheet/#num_fmt.rb# +0 -69
  188. data/lib/axlsx/util/cbf.rb +0 -333
  189. data/lib/axlsx/util/cfb.rb~ +0 -201
  190. data/lib/axlsx/util/ms_off_crypto.rb +0 -189
  191. data/lib/axlsx/util/ms_off_crypto.rb~ +0 -3
  192. data/lib/axlsx/util/ms_offcrypto.rb~ +0 -0
  193. data/lib/axlsx/util/parser.rb~ +0 -6
  194. data/lib/axlsx/util/storage.rb~ +0 -0
  195. data/lib/axlsx/workbook/shared_strings_table.rb~ +0 -69
  196. data/lib/axlsx/workbook/worksheet/col.rb~ +0 -0
  197. data/lib/axlsx/workbook/worksheet/shared_strings_table.rb~ +0 -0
  198. data/lib/axlsx/workbook/worksheet/table.rb~ +0 -97
  199. data/lib/schema/dc.xsd~ +0 -118
  200. data/lib/schema/dcterms.xsd~ +0 -331
  201. data/lib/schema/opc-coreProperties.xsd~ +0 -50
  202. data/test/#benchmark.txt# +0 -7
  203. data/test/#tc_helper.rb# +0 -3
  204. data/test/benchmark.rb~ +0 -0
  205. data/test/benchmark.txt +0 -6
  206. data/test/benchmark.txt~ +0 -6
  207. data/test/drawing/tc_val_axis_data.rb +0 -17
  208. data/test/example.csv +0 -1000
  209. data/test/example.xlsx +0 -0
  210. data/test/example_streamed.xlsx +0 -0
  211. data/test/tc_axlsx.rb~ +0 -0
  212. data/test/tc_helper.rb~ +0 -3
  213. data/test/workbook/worksheet/table/tc_table.rb~ +0 -72
  214. data/test/workbook/worksheet/tc_col.rb~ +0 -10
data/examples/example.rb~ DELETED
@@ -1,112 +0,0 @@
1
- # encoding: UTF-8
2
- require 'rubygems'
3
- require 'axlsx.rb'
4
-
5
-
6
- #A Simple Workbook
7
- p = Axlsx::Package.new
8
- p.workbook.add_worksheet do |sheet|
9
- sheet.add_row ["First", "Second", "Third"]
10
- sheet.add_row [1, 2, 3]
11
- end
12
- p.serialize("example1.xlsx")
13
-
14
- #Generating A Bar Chart
15
- p = Axlsx::Package.new
16
- p.workbook.add_worksheet do |sheet|
17
- sheet.add_row ["First", "Second", "Third"]
18
- sheet.add_row [1, 2, 3]
19
- sheet.add_chart(Axlsx::Bar3DChart, :start_at => [0,2], :end_at => [5, 15], :title=>"example 2: Chart") do |chart|
20
- chart.add_series :data=>sheet.rows.last.cells, :labels=> sheet.rows.first.cells
21
- end
22
- end
23
- p.serialize("example2.xlsx")
24
-
25
- #Generating A Pie Chart
26
- p = Axlsx::Package.new
27
- p.workbook.add_worksheet do |sheet|
28
- sheet.add_row ["First", "Second", "Third"]
29
- sheet.add_row [1, 2, 3]
30
- sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0,2], :end_at => [5, 15], :title=>"example 3: Pie Chart") do |chart|
31
- chart.add_series :data=>sheet.rows.last.cells, :labels=> sheet.rows.first.cells
32
- end
33
- end
34
- p.serialize("example3.xlsx")
35
-
36
-
37
- #Using Custom Styles
38
-
39
- p = Axlsx::Package.new
40
- wb = p.workbook
41
- black_cell = wb.styles.add_style :bg_color => "FF000000", :fg_color => "FFFFFFFF", :sz=>14, :alignment => { :horizontal=> :center }
42
- blue_cell = wb.styles.add_style :bg_color => "FF0000FF", :fg_color => "FFFFFFFF", :sz=>14, :alignment => { :horizontal=> :center }
43
- wb.add_worksheet do |sheet|
44
- sheet.add_row ["Text Autowidth", "Second", "Third"], :style => [black_cell, blue_cell, black_cell]
45
- sheet.add_row [1, 2, 3], :style => Axlsx::STYLE_THIN_BORDER
46
- end
47
- p.serialize("example4.xlsx")
48
-
49
- #Using Custom Formatting and date1904
50
-
51
- p = Axlsx::Package.new
52
- wb = p.workbook
53
- date = wb.styles.add_style :format_code=>"yyyy-mm-dd", :border => Axlsx::STYLE_THIN_BORDER
54
- padded = wb.styles.add_style :format_code=>"00#", :border => Axlsx::STYLE_THIN_BORDER
55
- percent = wb.styles.add_style :format_code=>"0%", :border => Axlsx::STYLE_THIN_BORDER
56
- wb.date1904 = true # required for generation on mac
57
- wb.add_worksheet do |sheet|
58
- sheet.add_row ["Custom Formatted Date", "Percent Formatted Float", "Padded Numbers"], :style => Axlsx::STYLE_THIN_BORDER
59
- sheet.add_row [Time.now, 0.2, 32], :style => [date, percent, padded]
60
- end
61
- p.serialize("example5.xlsx")
62
-
63
- #Validation
64
-
65
- p = Axlsx::Package.new
66
- p.workbook.add_worksheet do |sheet|
67
- sheet.add_row ["First", "Second", "Third"]
68
- sheet.add_row [1, 2, 3]
69
- end
70
-
71
- p.validate.each do |error|
72
- puts error.inspect
73
- end
74
-
75
- #Generating A Line Chart
76
-
77
- p = Axlsx::Package.new
78
- p.workbook.add_worksheet do |sheet|
79
- sheet.add_row ["First", 1, 5, 7, 9]
80
- sheet.add_row ["Second", 5, 2, 14, 9]
81
- sheet.add_chart(Axlsx::Line3DChart, :title=>"example 6: Line Chart") do |chart|
82
- chart.start_at 0, 2
83
- chart.end_at 10, 15
84
- chart.add_series :data=>sheet.rows.first.cells[(1..-1)], :title=> sheet.rows.first.cells.first
85
- chart.add_series :data=>sheet.rows.last.cells[(1..-1)], :title=> sheet.rows.last.cells.first
86
- end
87
-
88
- end
89
- p.serialize("example6.xlsx")
90
-
91
- #Add an Image
92
-
93
- p = Axlsx::Package.new
94
- p.workbook.add_worksheet do |sheet|
95
- img = File.expand_path('examples/image1.jpeg')
96
- puts img
97
- sheet.add_image(:image_src => img) do |image|
98
- image.width=720
99
- image.height=666
100
- image.start_at 2, 2
101
- end
102
- end
103
- p.serialize("example7.xlsx")
104
-
105
-
106
- #Japanese Support
107
-
108
- p = Axlsx::Package.new
109
- p.workbook.add_worksheet do |sheet|
110
- sheet.add_row ["���{�� "]
111
- end
112
- p.serialize("example8.xlsx")
@@ -1,34 +0,0 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # The CatAxisData class serializes the category axis data for a chart
4
- class CatAxisData < SimpleTypedList
5
-
6
- # Create a new CatAxisData object
7
- # @param [Array, SimpleTypedList] data the data for this category axis. This can be a simple array or a simple typed list of cells.
8
- def initialize(data=[])
9
- super Object
10
- @list.concat data if data.is_a?(Array)
11
- data.each { |i| @list << i } if data.is_a?(SimpleTypedList)
12
- end
13
-
14
- # Serializes the object
15
- # @param [String] str
16
- # @return [String]
17
- def to_xml_string(str = '')
18
- str << '<c:cat>'
19
- str << '<c:strRef>'
20
- str << '<c:f>' << Axlsx::cell_range(@list) << '</c:f>'
21
- str << '<c:strCache>'
22
- str << '<c:ptCount val="' << size.to_s << '"/>'
23
- each_with_index do |item, index|
24
- v = item.is_a?(Cell) ? item.value.to_s : item
25
- str << '<c:pt idx="' << index.to_s << '"><c:v>' << v << '</c:v></c:pt>'
26
- end
27
- str << '</c:strCache>'
28
- str << '</c:strRef>'
29
- str << '</c:cat>'
30
- end
31
-
32
- end
33
-
34
- end
File without changes
@@ -1,64 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- module Axlsx
3
- # a hlinkClick object adds a click behaviour to a drawing object.
4
- # using the hlink_click method on a drawing object is the recommended way to manage hlinks
5
- # @see Pic#link_to
6
- class Hyperlink
7
-
8
- # the type of hyper link defines the onclick or mouseover trigger.
9
- # type must be one of :hlinkClick or :hlinkMouse
10
- def type
11
- @type ||= :hlinkClick
12
- end
13
-
14
- # sets the type of the object.
15
- # @param [Symbol] type one of :hlinkClick or hlinkMouse
16
- def type(v) RestrictionValidator.validate "Hyperlink.type", [:hlinkClick, :hlinkMouse], v; @type = v end
17
-
18
- # The destination of the hyperlink
19
- # This value is actually stored in the drawings .rels. doc as a relationship.
20
- attr_accessor :href
21
-
22
- # The docs say:
23
- # Specifies the URL when it has been determined by the generating application that the URL is invalid. That is the generating application can still store the URL but it is known that this URL is not correct.
24
- attr_accessor :invalidUrl
25
-
26
- # Specifies the target frame that is to be used when opening this hyperlink. When the hyperlink is activated this attribute is used to determine if a new window is launched for viewing or if an existing one can be used. If this attribute is omitted, than a new window is opened.
27
- attr_accessor :tgtFrame
28
-
29
- # Specifies the tooltip that should be displayed when the hyperlink text is hovered over with the mouse. If this attribute is omitted, than the hyperlink text itself can be displayed.
30
- attr_accessor :tooltip
31
-
32
- #Creates a hyperlink object
33
- # parent must be a Pic for now, although I expect that other object support this tag and its cNvPr parent
34
- # @param [Pic] parent
35
- # @option [String] tooltip message shown when hyperlinked object is hovered over with mouse.
36
- # @option [String] tgtFrame Target frame for opening hyperlink
37
- # @option [String] invalidUrl supposedly use to store the href when we know it is an invalid resource.
38
- # @option [String] href the target resource this hyperlink links to.
39
- def initialize(parent, options=>{})
40
- DataTypeValidator.validate "Hyperlink.parent", [Pic], parent
41
- @parent = parent
42
- options.each do |o|
43
- self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}="
44
- end
45
- end
46
-
47
- # The index of this hyperlink in the owning document's hyperlinks collection
48
- # @returns [Integer]
49
- def index
50
- self.parent.anchor.drawing.hyperlinks.index(self)
51
- end
52
-
53
- # The relational ID for this hyperlink
54
- # @returns [String]
55
- def r:id
56
- reference_count = self.parent.anchor.drawing.charts.size + self.parent.anchor.drawing.images.size + index
57
-
58
- end
59
-
60
- def to_xml(xml)
61
- xml.send(type,
62
- end
63
- end
64
- end
@@ -1,36 +0,0 @@
1
- # encoding: UTF-8
2
- # TODO: review cat, val and named access data to extend this and reduce replicated code.
3
- module Axlsx
4
- # The ValAxisData class manages the values for a chart value series.
5
- class NamedAxisData < CatAxisData
6
-
7
- # creates a new NamedAxisData Object
8
- # @param [String] name The serialized node name for the axis data object
9
- # @param [Array] The data to associate with the axis data object
10
- def initialize(name, data=[])
11
- super(data)
12
- @name = name
13
- end
14
-
15
- # Serializes the object
16
- # @param [String] str
17
- # @return [String]
18
- def to_xml_string(str = '')
19
- str << '<c:' << @name.to_s << '>'
20
- str << '<c:numRef>'
21
- str << '<c:f>' << Axlsx::cell_range(@list) << '</c:f>'
22
- str << '<c:numCache>'
23
- str << '<c:formatCode>General</c:formatCode>'
24
- str << '<c:ptCount val="' << size.to_s << '"/>'
25
- each_with_index do |item, index|
26
- v = item.is_a?(Cell) ? item.value.to_s : item
27
- str << '<c:pt idx="' << index.to_s << '"><c:v>' << v << '</c:v></c:pt>'
28
- end
29
- str << '</c:numCache>'
30
- str << '</c:numRef>'
31
- str << '</c:' << @name.to_s << '>'
32
- end
33
-
34
- end
35
-
36
- end
@@ -1,36 +0,0 @@
1
- module Axlsx
2
- # The picture locking class defines the locking properties for pictures in your workbook.
3
- class PictureLocking
4
-
5
-
6
- attr_reader :noGrp
7
- attr_reader :noSelect
8
- attr_reader :noRot
9
- attr_reader :noChangeAspect
10
- attr_reader :noMove
11
- attr_reader :noResize
12
- attr_reader :noEditPoints
13
- attr_reader :noAdjustHandles
14
- attr_reader :noChangeArrowheads
15
- attr_reader :noChangeShapeType
16
-
17
- # Creates a new PictureLocking object
18
- # @option options [Boolean] noGrp
19
- # @option options [Boolean] noSelect
20
- # @option options [Boolean] noRot
21
- # @option options [Boolean] noChangeAspect
22
- # @option options [Boolean] noMove
23
- # @option options [Boolean] noResize
24
- # @option options [Boolean] noEditPoints
25
- # @option options [Boolean] noAdjustHandles
26
- # @option options [Boolean] noChangeArrowheads
27
- # @option options [Boolean] noChangeShapeType
28
- def initialize(options={})
29
- options.each do |o|
30
- self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}="
31
- end
32
- end
33
-
34
-
35
- end
36
- end
@@ -1,27 +0,0 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # The ValAxisData class manages the values for a chart value series.
4
- class ValAxisData < CatAxisData
5
-
6
- # Serializes the object
7
- # @param [String] str
8
- # @return [String]
9
- def to_xml_string(str = '')
10
- str << '<c:val>'
11
- str << '<c:numRef>'
12
- str << '<c:f>' << Axlsx::cell_range(@list) << '</c:f>'
13
- str << '<c:numCache>'
14
- str << '<c:formatCode>General</c:formatCode>'
15
- str << '<c:ptCount val="' << size.to_s << '"/>'
16
- each_with_index do |item, index|
17
- v = item.is_a?(Cell) ? item.value.to_s : item
18
- str << '<c:pt idx="' << index.to_s << '"><c:v>' << v << '</c:v></c:pt>'
19
- end
20
- str << '</c:numCache>'
21
- str << '</c:numRef>'
22
- str << '</c:val>'
23
- end
24
-
25
- end
26
-
27
- end
@@ -1,69 +0,0 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
- # A NumFmt object defines an identifier and formatting code for data in cells.
4
- # @note The recommended way to manage styles is Styles#add_style
5
- class NumFmt
6
- # @return [Integer] An unsinged integer referencing a standard or custom number format.
7
- # @note
8
- # These are the known formats I can dig up. The constant NUM_FMT_PERCENT is 9, and uses the default % formatting. Axlsx also defines a few formats for date and time that are commonly used in asia as NUM_FMT_YYYYMMDD and NUM_FRM_YYYYMMDDHHMMSS.
9
- # 1 0
10
- # 2 0.00
11
- # 3 #,##0
12
- # 4 #,##0.00
13
- # 5 $#,##0_);($#,##0)
14
- # 6 $#,##0_);[Red]($#,##0)
15
- # 7 $#,##0.00_);($#,##0.00)
16
- # 8 $#,##0.00_);[Red]($#,##0.00)
17
- # 9 0%
18
- # 10 0.00%
19
- # 11 0.00E+00
20
- # 12 # ?/?
21
- # 13 # ??/??
22
- # 14 m/d/yyyy
23
- # 15 d-mmm-yy
24
- # 16 d-mmm
25
- # 17 mmm-yy
26
- # 18 h:mm AM/PM
27
- # 19 h:mm:ss AM/PM
28
- # 20 h:mm
29
- # 21 h:mm:ss
30
- # 22 m/d/yyyy h:mm
31
- # 37 #,##0_);(#,##0)
32
- # 38 #,##0_);[Red](#,##0)
33
- # 39 #,##0.00_);(#,##0.00)
34
- # 40 #,##0.00_);[Red](#,##0.00)
35
- # 45 mm:ss
36
- # 46 [h]:mm:ss
37
- # 47 mm:ss.0
38
- # 48 ##0.0E+0
39
- # 49 @
40
- # @see Axlsx
41
- attr_reader :numFmtId
42
-
43
- # @return [String] The formatting to use for this number format.
44
- # @see http://support.microsoft.com/kb/264372
45
- attr_reader :formatCode
46
- def initialize(options={})
47
- @numFmtId = 0
48
- @formatCode = ""
49
- options.each do |o|
50
- self.send("#{o[0]}=", o[1]) if self.respond_to? o[0]
51
- end
52
- end
53
-
54
- # @see numFmtId
55
- def numFmtId=(v) Axlsx::validate_unsigned_int v; @numFmtId = v end
56
- # @see formatCode
57
- def formatCode=(v) Axlsx::validate_string v; @formatCode = v end
58
-
59
- # Serializes the object
60
- # @param [String] str
61
- # @return [String]
62
- def to_xml_string(str = '')
63
- str << '<numFmt '
64
- str << instance_values.map { |key, value| '' << key.to_s << '="' << value.to_s << '"' }.join(' ')
65
- str << '/>'
66
- end
67
-
68
- end
69
- end