Class: Aspose::Cloud::Cells::Workbook

Inherits:
Object
  • Object
show all
Defined in:
lib/Cells/workbook.rb

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ Workbook

Returns a new instance of Workbook.



22
23
24
25
26
# File 'lib/Cells/workbook.rb', line 22

def initialize(filename)
  @filename = filename
  raise 'filename not specified.' if filename.empty?
  @base_uri = "#{Aspose::Cloud::Common::Product.product_uri}/cells/#{@filename}"
end

Instance Method Details

#add_worksheet(worksheet_name, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



205
206
207
208
209
210
211
212
# File 'lib/Cells/workbook.rb', line 205

def add_worksheet(worksheet_name, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'worksheet_name not specified.' if worksheet_name.empty?

  str_uri = "#{@base_uri}/worksheets/#{worksheet_name}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.put(signed_str_uri, '', {:accept=>'application/json'}))['Code'] == 201 ? true : false
end

#autofit_rows(save_format, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'lib/Cells/workbook.rb', line 268

def autofit_rows(save_format, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'save_format not specified.' if save_format.empty?

  str_uri = "#{@base_uri}?format=#{save_format}&isAutoFit=true"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)

  response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'})
  valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)

  output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{Aspose::Cloud::Common::Utils.get_filename(@filename)}.#{save_format}"
  valid_output.empty? ? Aspose::Cloud::Common::Utils.save_file(response_stream,output_path) : valid_output
end

#clear_modify_password(password, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



185
186
187
188
189
190
191
192
193
# File 'lib/Cells/workbook.rb', line 185

def clear_modify_password(password, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'password not specified.' if password.empty?

  json_data = { :Password => password }.to_json
  str_uri = "#{@base_uri}/writeProtection"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(Aspose::Cloud::Common::Utils.process_command(signed_str_uri,'DELETE','JSON',json_data))['Code'] == 200 ? true : false
end

#create_empty_workbook(folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



72
73
74
75
76
77
# File 'lib/Cells/workbook.rb', line 72

def create_empty_workbook(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.put(signed_str_uri, '', {:accept=>'application/json'}))
end

#create_from_smart_template(template_file_name, data_file, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



88
89
90
91
92
93
94
95
96
97
98
# File 'lib/Cells/workbook.rb', line 88

def create_from_smart_template(template_file_name, data_file, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'template_file_name not specified.' if template_file_name.empty?
  raise 'data_file not specified.' if data_file.empty?

  str_uri = "#{@base_uri}"
  qry = { :templateFile => template_file_name, :dataFile => data_file}
  str_uri = Aspose::Cloud::Common::Utils.build_uri(str_uri,qry)
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.put(signed_str_uri, '', {:accept=>'application/json'}))
end

#create_workbook_from_template(template_file_name, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



79
80
81
82
83
84
85
86
# File 'lib/Cells/workbook.rb', line 79

def create_workbook_from_template(template_file_name, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'template_file_name not specified.' if template_file_name.empty?

  str_uri = "#{@base_uri}?templatefile=#{template_file_name}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.put(signed_str_uri, '', {:accept=>'application/json'}))
end

#decrypt_password(password, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



195
196
197
198
199
200
201
202
203
# File 'lib/Cells/workbook.rb', line 195

def decrypt_password(password, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'password not specified.' if password.empty?

  json_data = { :Password => password }.to_json
  str_uri = "#{@base_uri}/encryption"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(Aspose::Cloud::Common::Utils.process_command(signed_str_uri,'DELETE','JSON',json_data))['Code'] == 200 ? true : false
end

#decrypt_workbook(password, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



144
145
146
147
148
149
150
151
152
# File 'lib/Cells/workbook.rb', line 144

def decrypt_workbook(password, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'password not specified.' if password.empty?

  json_data = { :Password => password }.to_json
  str_uri = "#{@base_uri}/encryption"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(Aspose::Cloud::Common::Utils.process_command(signed_str_uri,'DELETE','JSON',json_data))['Code'] == 200 ? true : false
end

#encrypt_workbook(encryption_type, password, key_length, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



132
133
134
135
136
137
138
139
140
141
142
# File 'lib/Cells/workbook.rb', line 132

def encrypt_workbook(encryption_type, password, key_length, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'encryption_type not specified.' if encryption_type.empty?
  raise 'password not specified.' if password.empty?
  raise 'key_length not specified.' if key_length.nil?

  json_data = { :EncryptionType => encryption_type, :KeyLength => key_length, :Password => password }.to_json
  str_uri = "#{@base_uri}/encryption"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.post(signed_str_uri, json_data, {:content_type=>:json, :accept=>'application/json'}))['Code'] == 200 ? true : false
end

#get_default_style(folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



125
126
127
128
129
130
# File 'lib/Cells/workbook.rb', line 125

def get_default_style(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/defaultStyle"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Style']
end

#get_name_count(folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



118
119
120
121
122
123
# File 'lib/Cells/workbook.rb', line 118

def get_name_count(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/names"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Names'].length
end

#get_properties(folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



28
29
30
31
32
33
# File 'lib/Cells/workbook.rb', line 28

def get_properties(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/documentProperties"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['DocumentProperties']['DocumentPropertyList']
end

#get_property(property_name, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



35
36
37
38
39
40
41
42
# File 'lib/Cells/workbook.rb', line 35

def get_property(property_name, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'property_name not specified.' if property_name.empty?

  str_uri = "#{@base_uri}/documentProperties/#{property_name}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['DocumentProperty']
end

#get_worksheets_count(folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



111
112
113
114
115
116
# File 'lib/Cells/workbook.rb', line 111

def get_worksheets_count(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/worksheets"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Worksheets']['WorksheetList'].length
end

#merge_workbook(merge_filename, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



223
224
225
226
227
228
229
230
# File 'lib/Cells/workbook.rb', line 223

def merge_workbook(merge_filename, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'merge_filename not specified.' if merge_filename.empty?

  str_uri = "#{@base_uri}/merge?mergeWith=#{merge_filename}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.post(signed_str_uri, '', {:accept=>'application/json'}))['Code'] == 200 ? true : false
end

#process_smart_marker(data_file, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



100
101
102
103
104
105
106
107
108
109
# File 'lib/Cells/workbook.rb', line 100

def process_smart_marker(data_file, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'data_file not specified.' if data_file.empty?

  str_uri = "#{@base_uri}"
  qry = { :xmlFile => data_file}
  str_uri = Aspose::Cloud::Common::Utils.build_uri(str_uri,qry)
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.post(signed_str_uri, '', {:accept=>'application/json'}))
end

#protect_workbook(protection_type, password, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



154
155
156
157
158
159
160
161
162
163
# File 'lib/Cells/workbook.rb', line 154

def protect_workbook(protection_type, password, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'protection_type not specified.' if protection_type.empty?
  raise 'password not specified.' if password.empty?

  json_data = { :ProtectionType => protection_type, :Password => password }.to_json
  str_uri = "#{@base_uri}/protection"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.post(signed_str_uri, json_data, {:content_type=>:json, :accept=>'application/json'}))['Code'] == 200 ? true : false
end

#remove_all_properties(folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



56
57
58
59
60
61
# File 'lib/Cells/workbook.rb', line 56

def remove_all_properties(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/documentProperties"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.delete(signed_str_uri, {:accept=>'application/json'}))['Code'] == 200 ? true : false
end

#remove_property(property_name, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



63
64
65
66
67
68
69
70
# File 'lib/Cells/workbook.rb', line 63

def remove_property(property_name, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'property_name not specified.' if property_name.empty?

  str_uri = "#{@base_uri}/documentProperties/#{property_name}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.delete(signed_str_uri, {:accept=>'application/json'}))['Code'] == 200 ? true : false
end

#remove_worksheet(worksheet_name, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



214
215
216
217
218
219
220
221
# File 'lib/Cells/workbook.rb', line 214

def remove_worksheet(worksheet_name, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'worksheet_name not specified.' if worksheet_name.empty?

  str_uri = "#{@base_uri}/worksheets/#{worksheet_name}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)          
  JSON.parse(RestClient.delete(signed_str_uri, {:accept=>'application/json'}))['Code'] == 200 ? true : false
end

#save_as(str_xml, output_filename, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



255
256
257
258
259
260
261
262
263
264
265
266
# File 'lib/Cells/workbook.rb', line 255

def save_as(str_xml, output_filename, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'str_xml not specified.' if str_xml.empty?
  raise 'output_filename not specified.' if output_filename.empty?

  str_uri = "#{@base_uri}/saveAs?newfilename=#{output_filename}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  
  response_stream = Aspose::Cloud::Common::Utils.process_command(signed_str_uri,'POST','XML',str_xml)
  valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)
  valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(output_filename,output_filename,folder_name,storage_name,storage_type) : valid_output
end

#set_modify_password(password, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



175
176
177
178
179
180
181
182
183
# File 'lib/Cells/workbook.rb', line 175

def set_modify_password(password, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'password not specified.' if password.empty?

  json_data = { :Password => password }.to_json
  str_uri = "#{@base_uri}/writeProtection"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.put(signed_str_uri, json_data, {:content_type=>:json, :accept=>'application/json'}))['Code'] == 200 ? true : false
end

#set_property(property_name, property_value, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
# File 'lib/Cells/workbook.rb', line 44

def set_property(property_name, property_value, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'property_name not specified.' if property_name.empty?
  raise 'property_value not specified.' if property_value.empty?

  json_data = JSON.generate('Value'=>property_value)

  str_uri = "#{@base_uri}/documentProperties/#{property_name}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.put(signed_str_uri, json_data, {:content_type=>:json, :accept=>'application/json'}))['DocumentProperty']
end

#split_workbook(save_format, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
# File 'lib/Cells/workbook.rb', line 232

def split_workbook(save_format, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'save_format not specified.' if save_format.empty?

  str_uri = "#{@base_uri}/split?format=#{save_format}"          
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)          
  response = RestClient.post(signed_str_uri, '', {:accept=>'application/json'})
  json = JSON.parse(response)
  
  i = 1
  json['Result']['Documents'].each { |split_page|     
    source_filename = Aspose::Cloud::Common::Utils.get_filename(@filename)       
    split_filename = File.basename(split_page['link']['Href'])
    str_uri = Aspose::Cloud::Common::Product.product_uri + '/storage/file/' + split_filename
    signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
    response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'})
    filename = "#{source_filename}_#{i}.#{save_format}"
    output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{filename}"
    Aspose::Cloud::Common::Utils.save_file(response_stream,output_path)
    i += 1
  }
end

#unprotect_workbook(password, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object



165
166
167
168
169
170
171
172
173
# File 'lib/Cells/workbook.rb', line 165

def unprotect_workbook(password, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'password not specified.' if password.empty?

  json_data = { :Password => password }.to_json
  str_uri = "#{@base_uri}/protection"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(Aspose::Cloud::Common::Utils.process_command(signed_str_uri,'DELETE','JSON',json_data))['Code'] == 200 ? true : false
end