aspose_cells_cloud 23.8 → 23.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -4
  3. data/lib/aspose_cells_cloud/api/cells_api.rb +23 -0
  4. data/lib/aspose_cells_cloud/models/abstract_calculation_engine.rb +234 -0
  5. data/lib/aspose_cells_cloud/models/{barcode_response.rb → abstract_calculation_monitor.rb} +33 -45
  6. data/lib/aspose_cells_cloud/models/auto_fitter_options.rb +64 -4
  7. data/lib/aspose_cells_cloud/models/calculation_options.rb +40 -4
  8. data/lib/aspose_cells_cloud/models/{barcode_response_list.rb → chart_globalization_settings.rb} +2 -2
  9. data/lib/aspose_cells_cloud/models/formula_settings.rb +330 -0
  10. data/lib/aspose_cells_cloud/models/globalization_settings.rb +258 -0
  11. data/lib/aspose_cells_cloud/models/list_column.rb +16 -4
  12. data/lib/aspose_cells_cloud/models/list_object.rb +73 -1
  13. data/lib/aspose_cells_cloud/models/pivot_globalization_settings.rb +198 -0
  14. data/lib/aspose_cells_cloud/models/query_table.rb +258 -0
  15. data/lib/aspose_cells_cloud/models/range_sort_request.rb +222 -0
  16. data/lib/aspose_cells_cloud/models/workbook_settings.rb +220 -4
  17. data/lib/aspose_cells_cloud/models/write_protection.rb +246 -0
  18. data/lib/aspose_cells_cloud/models/xml_data_binding.rb +210 -0
  19. data/lib/aspose_cells_cloud/models/xml_map.rb +234 -0
  20. data/lib/aspose_cells_cloud/requests/post_worksheet_cells_range_sort_request.rb +138 -0
  21. data/lib/aspose_cells_cloud/requests/post_worksheet_list_object_insert_slicer_request.rb +159 -0
  22. data/lib/aspose_cells_cloud/requests/post_worksheet_list_object_remove_duplicates_request.rb +137 -0
  23. data/lib/aspose_cells_cloud/version.rb +1 -1
  24. data/lib/aspose_cells_cloud.rb +14 -2
  25. data/spec/api/list_objects_controller_spec.rb +35 -0
  26. data/spec/api/ranges_controller_spec.rb +20 -0
  27. data/spec/one_case_spec.rb +27 -0
  28. metadata +17 -4
@@ -0,0 +1,222 @@
1
+ =begin
2
+ --------------------------------------------------------------------------------------------------------------------
3
+ <copyright company="Aspose" file="RangeSortRequestrb.cs">
4
+ Copyright (c) 2023 Aspose.Cells Cloud
5
+ </copyright>
6
+ <summary>
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in all
15
+ copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ SOFTWARE.
24
+ </summary>
25
+ --------------------------------------------------------------------------------------------------------------------
26
+ =end
27
+
28
+
29
+ require 'date'
30
+
31
+ module AsposeCellsCloud
32
+
33
+ class RangeSortRequest
34
+ #
35
+ attr_accessor :data_sorter
36
+ #
37
+ attr_accessor :cell_area
38
+
39
+ # Attribute mapping from ruby-style variable name to JSON key.
40
+ def self.attribute_map
41
+ {
42
+ :'data_sorter' => :'DataSorter',
43
+ :'cell_area' => :'CellArea'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ def self.swagger_types
49
+ {
50
+ :'data_sorter' => :'DataSorter',
51
+ :'cell_area' => :'Range'
52
+ }
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ def initialize(attributes = {})
58
+ return unless attributes.is_a?(Hash)
59
+
60
+ # convert string to symbol for hash key
61
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
62
+
63
+ if attributes.has_key?(:'DataSorter')
64
+ self.data_sorter = attributes[:'DataSorter']
65
+ end
66
+ if attributes.has_key?(:'CellArea')
67
+ self.cell_area = attributes[:'CellArea']
68
+ end
69
+
70
+ end
71
+
72
+ # Show invalid properties with the reasons. Usually used together with valid?
73
+ # @return Array for valid properies with the reasons
74
+ def list_invalid_properties
75
+ invalid_properties = Array.new
76
+ if @data_sorter.nil?
77
+ invalid_properties.push("invalid value for 'data_sorter', data_sorter cannot be nil.")
78
+ end
79
+ if @cell_area.nil?
80
+ invalid_properties.push("invalid value for 'cell_area', cell_area cannot be nil.")
81
+ end
82
+
83
+ return invalid_properties
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ def valid?
89
+ return false if @data_sorter.nil?
90
+ return false if @cell_area.nil?
91
+ return true
92
+ end
93
+
94
+ # Checks equality by comparing each attribute.
95
+ # @param [Object] Object to be compared
96
+ def ==(o)
97
+ return true if self.equal?(o)
98
+ self.class == o.class &&
99
+ data_sorter == o.data_sorter &&
100
+ cell_area == o.cell_area
101
+ std_dev == o.std_dev
102
+ end
103
+
104
+ # @see the `==` method
105
+ # @param [Object] Object to be compared
106
+ def eql?(o)
107
+ self == o
108
+ end
109
+
110
+ # Calculates hash code according to all attributes.
111
+ # @return [Fixnum] Hash code
112
+ def hash
113
+ [ data_sorter , cell_area ].hash
114
+ end
115
+
116
+ # Builds the object from hash
117
+ # @param [Hash] attributes Model attributes in the form of hash
118
+ # @return [Object] Returns the model itself
119
+ def build_from_hash(attributes)
120
+ return nil unless attributes.is_a?(Hash)
121
+ self.class.swagger_types.each_pair do |key, type|
122
+ if type =~ /\AArray<(.*)>/i
123
+ # check to ensure the input is an array given that the the attribute
124
+ # is documented as an array but the input is not
125
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
126
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
127
+ end
128
+ elsif !attributes[self.class.attribute_map[key]].nil?
129
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
130
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
131
+ end
132
+
133
+ self
134
+ end
135
+
136
+ # Deserializes the data based on type
137
+ # @param string type Data type
138
+ # @param string value Value to be deserialized
139
+ # @return [Object] Deserialized data
140
+ def _deserialize(type, value)
141
+ case type.to_sym
142
+ when :DateTime
143
+ DateTime.parse(value)
144
+ when :Date
145
+ Date.parse(value)
146
+ when :String
147
+ value.to_s
148
+ when :Integer
149
+ value.to_i
150
+ when :Float
151
+ value.to_f
152
+ when :BOOLEAN
153
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
154
+ true
155
+ else
156
+ false
157
+ end
158
+ when :Object
159
+ # generic object (usually a Hash), return directly
160
+ value
161
+ when /\AArray<(?<inner_type>.+)>\z/
162
+ inner_type = Regexp.last_match[:inner_type]
163
+ value.map { |v| _deserialize(inner_type, v) }
164
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
165
+ k_type = Regexp.last_match[:k_type]
166
+ v_type = Regexp.last_match[:v_type]
167
+ {}.tap do |hash|
168
+ value.each do |k, v|
169
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
170
+ end
171
+ end
172
+ else # model
173
+ temp_model = AsposeCellsCloud.const_get(type).new
174
+ temp_model.build_from_hash(value)
175
+ end
176
+ end
177
+
178
+ # Returns the string representation of the object
179
+ # @return [String] String presentation of the object
180
+ def to_s
181
+ to_hash.to_s
182
+ end
183
+
184
+ # to_body is an alias to to_hash (backward compatibility)
185
+ # @return [Hash] Returns the object in the form of hash
186
+ def to_body
187
+ to_hash
188
+ end
189
+
190
+ # Returns the object in the form of hash
191
+ # @return [Hash] Returns the object in the form of hash
192
+ def to_hash
193
+ hash = {}
194
+ self.class.attribute_map.each_pair do |attr, param|
195
+ value = self.send(attr)
196
+ next if value.nil?
197
+ hash[param] = _to_hash(value)
198
+ end
199
+ hash
200
+ end
201
+
202
+ # Outputs non-array value in the form of hash
203
+ # For object, use to_hash. Otherwise, just return the value
204
+ # @param [Object] value Any valid value
205
+ # @return [Hash] Returns the value in the form of hash
206
+ def _to_hash(value)
207
+ if value.is_a?(Array)
208
+ value.compact.map{ |v| _to_hash(v) }
209
+ elsif value.is_a?(Hash)
210
+ {}.tap do |hash|
211
+ value.each { |k, v| hash[k] = _to_hash(v) }
212
+ end
213
+ elsif value.respond_to? :to_hash
214
+ value.to_hash
215
+ else
216
+ value
217
+ end
218
+ end
219
+
220
+ end
221
+
222
+ end
@@ -121,6 +121,42 @@ module AsposeCellsCloud
121
121
  attr_accessor :window_top
122
122
  #The width of the window, in unit of point.
123
123
  attr_accessor :window_width
124
+ #Gets and sets the author of the file.
125
+ attr_accessor :author
126
+ #Indicates whether checking custom number format when setting Style.Custom.
127
+ attr_accessor :check_custom_number_format
128
+ #Gets the protection type of the workbook.
129
+ attr_accessor :protection_type
130
+ #Gets and sets the globalization settings.
131
+ attr_accessor :globalization_settings
132
+ #Represents Workbook file encryption password.
133
+ attr_accessor :password
134
+ #Provides access to the workbook write protection options.
135
+ attr_accessor :write_protection
136
+ #Gets a value that indicates whether a password is required to open this workbook.
137
+ attr_accessor :is_encrypted
138
+ #Gets a value that indicates whether the structure or window of the Workbook is protected.
139
+ attr_accessor :is_protected
140
+ #Gets the max row index, zero-based.
141
+ attr_accessor :max_row
142
+ #Gets the max column index, zero-based.
143
+ attr_accessor :max_column
144
+ #
145
+ attr_accessor :significant_digits
146
+ #Indicates whether check compatibility with earlier versions when saving workbook.
147
+ attr_accessor :check_compatibility
148
+ #Gets and sets the default print paper size.
149
+ attr_accessor :paper_size
150
+ #Gets and sets the max row number of shared formula.
151
+ attr_accessor :max_rows_of_shared_formula
152
+ #Specifies the OOXML version for the output document. The default value is Ecma376_2006.
153
+ attr_accessor :compliance
154
+ #Indicates whether setting property when entering the string value(which starts with single quote mark ) to the cell
155
+ attr_accessor :quote_prefix_to_style
156
+ #Gets the settings for formula-related features.
157
+ attr_accessor :formula_settings
158
+ #Fully calculates every time when a calculation is triggered.
159
+ attr_accessor :force_full_calculate
124
160
 
125
161
  # Attribute mapping from ruby-style variable name to JSON key.
126
162
  def self.attribute_map
@@ -169,7 +205,25 @@ module AsposeCellsCloud
169
205
  :'window_height' => :'WindowHeight',
170
206
  :'window_left' => :'WindowLeft',
171
207
  :'window_top' => :'WindowTop',
172
- :'window_width' => :'WindowWidth'
208
+ :'window_width' => :'WindowWidth',
209
+ :'author' => :'Author',
210
+ :'check_custom_number_format' => :'CheckCustomNumberFormat',
211
+ :'protection_type' => :'ProtectionType',
212
+ :'globalization_settings' => :'GlobalizationSettings',
213
+ :'password' => :'Password',
214
+ :'write_protection' => :'WriteProtection',
215
+ :'is_encrypted' => :'IsEncrypted',
216
+ :'is_protected' => :'IsProtected',
217
+ :'max_row' => :'MaxRow',
218
+ :'max_column' => :'MaxColumn',
219
+ :'significant_digits' => :'SignificantDigits',
220
+ :'check_compatibility' => :'CheckCompatibility',
221
+ :'paper_size' => :'PaperSize',
222
+ :'max_rows_of_shared_formula' => :'MaxRowsOfSharedFormula',
223
+ :'compliance' => :'Compliance',
224
+ :'quote_prefix_to_style' => :'QuotePrefixToStyle',
225
+ :'formula_settings' => :'FormulaSettings',
226
+ :'force_full_calculate' => :'ForceFullCalculate'
173
227
  }
174
228
  end
175
229
 
@@ -220,7 +274,25 @@ module AsposeCellsCloud
220
274
  :'window_height' => :'Float',
221
275
  :'window_left' => :'Float',
222
276
  :'window_top' => :'Float',
223
- :'window_width' => :'Float'
277
+ :'window_width' => :'Float',
278
+ :'author' => :'String',
279
+ :'check_custom_number_format' => :'BOOLEAN',
280
+ :'protection_type' => :'String',
281
+ :'globalization_settings' => :'GlobalizationSettings',
282
+ :'password' => :'String',
283
+ :'write_protection' => :'WriteProtection',
284
+ :'is_encrypted' => :'BOOLEAN',
285
+ :'is_protected' => :'BOOLEAN',
286
+ :'max_row' => :'Integer',
287
+ :'max_column' => :'Integer',
288
+ :'significant_digits' => :'Integer',
289
+ :'check_compatibility' => :'BOOLEAN',
290
+ :'paper_size' => :'String',
291
+ :'max_rows_of_shared_formula' => :'Integer',
292
+ :'compliance' => :'String',
293
+ :'quote_prefix_to_style' => :'BOOLEAN',
294
+ :'formula_settings' => :'FormulaSettings',
295
+ :'force_full_calculate' => :'BOOLEAN'
224
296
  }
225
297
  end
226
298
 
@@ -367,6 +439,60 @@ module AsposeCellsCloud
367
439
  if attributes.has_key?(:'WindowWidth')
368
440
  self.window_width = attributes[:'WindowWidth']
369
441
  end
442
+ if attributes.has_key?(:'Author')
443
+ self.author = attributes[:'Author']
444
+ end
445
+ if attributes.has_key?(:'CheckCustomNumberFormat')
446
+ self.check_custom_number_format = attributes[:'CheckCustomNumberFormat']
447
+ end
448
+ if attributes.has_key?(:'ProtectionType')
449
+ self.protection_type = attributes[:'ProtectionType']
450
+ end
451
+ if attributes.has_key?(:'GlobalizationSettings')
452
+ self.globalization_settings = attributes[:'GlobalizationSettings']
453
+ end
454
+ if attributes.has_key?(:'Password')
455
+ self.password = attributes[:'Password']
456
+ end
457
+ if attributes.has_key?(:'WriteProtection')
458
+ self.write_protection = attributes[:'WriteProtection']
459
+ end
460
+ if attributes.has_key?(:'IsEncrypted')
461
+ self.is_encrypted = attributes[:'IsEncrypted']
462
+ end
463
+ if attributes.has_key?(:'IsProtected')
464
+ self.is_protected = attributes[:'IsProtected']
465
+ end
466
+ if attributes.has_key?(:'MaxRow')
467
+ self.max_row = attributes[:'MaxRow']
468
+ end
469
+ if attributes.has_key?(:'MaxColumn')
470
+ self.max_column = attributes[:'MaxColumn']
471
+ end
472
+ if attributes.has_key?(:'SignificantDigits')
473
+ self.significant_digits = attributes[:'SignificantDigits']
474
+ end
475
+ if attributes.has_key?(:'CheckCompatibility')
476
+ self.check_compatibility = attributes[:'CheckCompatibility']
477
+ end
478
+ if attributes.has_key?(:'PaperSize')
479
+ self.paper_size = attributes[:'PaperSize']
480
+ end
481
+ if attributes.has_key?(:'MaxRowsOfSharedFormula')
482
+ self.max_rows_of_shared_formula = attributes[:'MaxRowsOfSharedFormula']
483
+ end
484
+ if attributes.has_key?(:'Compliance')
485
+ self.compliance = attributes[:'Compliance']
486
+ end
487
+ if attributes.has_key?(:'QuotePrefixToStyle')
488
+ self.quote_prefix_to_style = attributes[:'QuotePrefixToStyle']
489
+ end
490
+ if attributes.has_key?(:'FormulaSettings')
491
+ self.formula_settings = attributes[:'FormulaSettings']
492
+ end
493
+ if attributes.has_key?(:'ForceFullCalculate')
494
+ self.force_full_calculate = attributes[:'ForceFullCalculate']
495
+ end
370
496
 
371
497
  end
372
498
 
@@ -509,6 +635,60 @@ module AsposeCellsCloud
509
635
  if @window_width.nil?
510
636
  invalid_properties.push("invalid value for 'window_width', window_width cannot be nil.")
511
637
  end
638
+ if @author.nil?
639
+ invalid_properties.push("invalid value for 'author', author cannot be nil.")
640
+ end
641
+ if @check_custom_number_format.nil?
642
+ invalid_properties.push("invalid value for 'check_custom_number_format', check_custom_number_format cannot be nil.")
643
+ end
644
+ if @protection_type.nil?
645
+ invalid_properties.push("invalid value for 'protection_type', protection_type cannot be nil.")
646
+ end
647
+ if @globalization_settings.nil?
648
+ invalid_properties.push("invalid value for 'globalization_settings', globalization_settings cannot be nil.")
649
+ end
650
+ if @password.nil?
651
+ invalid_properties.push("invalid value for 'password', password cannot be nil.")
652
+ end
653
+ if @write_protection.nil?
654
+ invalid_properties.push("invalid value for 'write_protection', write_protection cannot be nil.")
655
+ end
656
+ if @is_encrypted.nil?
657
+ invalid_properties.push("invalid value for 'is_encrypted', is_encrypted cannot be nil.")
658
+ end
659
+ if @is_protected.nil?
660
+ invalid_properties.push("invalid value for 'is_protected', is_protected cannot be nil.")
661
+ end
662
+ if @max_row.nil?
663
+ invalid_properties.push("invalid value for 'max_row', max_row cannot be nil.")
664
+ end
665
+ if @max_column.nil?
666
+ invalid_properties.push("invalid value for 'max_column', max_column cannot be nil.")
667
+ end
668
+ if @significant_digits.nil?
669
+ invalid_properties.push("invalid value for 'significant_digits', significant_digits cannot be nil.")
670
+ end
671
+ if @check_compatibility.nil?
672
+ invalid_properties.push("invalid value for 'check_compatibility', check_compatibility cannot be nil.")
673
+ end
674
+ if @paper_size.nil?
675
+ invalid_properties.push("invalid value for 'paper_size', paper_size cannot be nil.")
676
+ end
677
+ if @max_rows_of_shared_formula.nil?
678
+ invalid_properties.push("invalid value for 'max_rows_of_shared_formula', max_rows_of_shared_formula cannot be nil.")
679
+ end
680
+ if @compliance.nil?
681
+ invalid_properties.push("invalid value for 'compliance', compliance cannot be nil.")
682
+ end
683
+ if @quote_prefix_to_style.nil?
684
+ invalid_properties.push("invalid value for 'quote_prefix_to_style', quote_prefix_to_style cannot be nil.")
685
+ end
686
+ if @formula_settings.nil?
687
+ invalid_properties.push("invalid value for 'formula_settings', formula_settings cannot be nil.")
688
+ end
689
+ if @force_full_calculate.nil?
690
+ invalid_properties.push("invalid value for 'force_full_calculate', force_full_calculate cannot be nil.")
691
+ end
512
692
 
513
693
  return invalid_properties
514
694
  end
@@ -561,6 +741,24 @@ module AsposeCellsCloud
561
741
  return false if @window_left.nil?
562
742
  return false if @window_top.nil?
563
743
  return false if @window_width.nil?
744
+ return false if @author.nil?
745
+ return false if @check_custom_number_format.nil?
746
+ return false if @protection_type.nil?
747
+ return false if @globalization_settings.nil?
748
+ return false if @password.nil?
749
+ return false if @write_protection.nil?
750
+ return false if @is_encrypted.nil?
751
+ return false if @is_protected.nil?
752
+ return false if @max_row.nil?
753
+ return false if @max_column.nil?
754
+ return false if @significant_digits.nil?
755
+ return false if @check_compatibility.nil?
756
+ return false if @paper_size.nil?
757
+ return false if @max_rows_of_shared_formula.nil?
758
+ return false if @compliance.nil?
759
+ return false if @quote_prefix_to_style.nil?
760
+ return false if @formula_settings.nil?
761
+ return false if @force_full_calculate.nil?
564
762
  return true
565
763
  end
566
764
 
@@ -613,7 +811,25 @@ module AsposeCellsCloud
613
811
  window_height == o.window_height &&
614
812
  window_left == o.window_left &&
615
813
  window_top == o.window_top &&
616
- window_width == o.window_width
814
+ window_width == o.window_width &&
815
+ author == o.author &&
816
+ check_custom_number_format == o.check_custom_number_format &&
817
+ protection_type == o.protection_type &&
818
+ globalization_settings == o.globalization_settings &&
819
+ password == o.password &&
820
+ write_protection == o.write_protection &&
821
+ is_encrypted == o.is_encrypted &&
822
+ is_protected == o.is_protected &&
823
+ max_row == o.max_row &&
824
+ max_column == o.max_column &&
825
+ significant_digits == o.significant_digits &&
826
+ check_compatibility == o.check_compatibility &&
827
+ paper_size == o.paper_size &&
828
+ max_rows_of_shared_formula == o.max_rows_of_shared_formula &&
829
+ compliance == o.compliance &&
830
+ quote_prefix_to_style == o.quote_prefix_to_style &&
831
+ formula_settings == o.formula_settings &&
832
+ force_full_calculate == o.force_full_calculate
617
833
  std_dev == o.std_dev
618
834
  end
619
835
 
@@ -626,7 +842,7 @@ module AsposeCellsCloud
626
842
  # Calculates hash code according to all attributes.
627
843
  # @return [Fixnum] Hash code
628
844
  def hash
629
- [ auto_compress_pictures , auto_recover , build_version , calc_mode , calc_stack_size , calculation_id , check_comptiliblity , check_excel_restriction , crash_save , create_calc_chain , data_extract_load , date1904 , display_drawing_objects , enable_macros , first_visible_tab , hide_pivot_field_list , is_default_encrypted , is_hidden , is_h_scroll_bar_visible , is_minimized , is_v_scroll_bar_visible , iteration , language_code , max_change , max_iteration , memory_setting , number_decimal_separator , number_group_separator , parsing_formula_on_open , precision_as_displayed , recalculate_before_save , re_calculate_on_open , recommend_read_only , region , remove_personal_information , repair_load , shared , sheet_tab_bar_width , show_tabs , update_adjacent_cells_border , update_links_type , window_height , window_left , window_top , window_width ].hash
845
+ [ auto_compress_pictures , auto_recover , build_version , calc_mode , calc_stack_size , calculation_id , check_comptiliblity , check_excel_restriction , crash_save , create_calc_chain , data_extract_load , date1904 , display_drawing_objects , enable_macros , first_visible_tab , hide_pivot_field_list , is_default_encrypted , is_hidden , is_h_scroll_bar_visible , is_minimized , is_v_scroll_bar_visible , iteration , language_code , max_change , max_iteration , memory_setting , number_decimal_separator , number_group_separator , parsing_formula_on_open , precision_as_displayed , recalculate_before_save , re_calculate_on_open , recommend_read_only , region , remove_personal_information , repair_load , shared , sheet_tab_bar_width , show_tabs , update_adjacent_cells_border , update_links_type , window_height , window_left , window_top , window_width , author , check_custom_number_format , protection_type , globalization_settings , password , write_protection , is_encrypted , is_protected , max_row , max_column , significant_digits , check_compatibility , paper_size , max_rows_of_shared_formula , compliance , quote_prefix_to_style , formula_settings , force_full_calculate ].hash
630
846
  end
631
847
 
632
848
  # Builds the object from hash