class Aspose::Cloud::Cells::Workbook

Public Class Methods

new(filename) click to toggle source
# 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

Public Instance Methods

add_worksheet(worksheet_name, folder_name = '', storage_type = 'Aspose', storage_name = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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 = '') click to toggle source
# 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