aspose_cells_cloud 25.7.1 → 25.10

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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +37 -15
  3. data/lib/aspose_cells_cloud/api/cells_api.rb +181 -9
  4. data/lib/aspose_cells_cloud/models/aggregate_result_by_color.rb +282 -0
  5. data/lib/aspose_cells_cloud/models/aggregate_result_by_color_response.rb +234 -0
  6. data/lib/aspose_cells_cloud/models/{broken_links_reponse.rb → broken_links_response.rb} +2 -2
  7. data/lib/aspose_cells_cloud/models/remove_characters_by_position.rb +1 -1
  8. data/lib/aspose_cells_cloud/models/spreadsheet_template.rb +198 -0
  9. data/lib/aspose_cells_cloud/requests/add_text_request.rb +198 -0
  10. data/lib/aspose_cells_cloud/requests/add_worksheet_to_spreadsheet_request.rb +162 -0
  11. data/lib/aspose_cells_cloud/requests/aggregate_cells_by_color_request.rb +154 -0
  12. data/lib/aspose_cells_cloud/requests/codegen_spec_request.rb +6 -6
  13. data/lib/aspose_cells_cloud/requests/compress_spreadsheet_request.rb +150 -0
  14. data/lib/aspose_cells_cloud/requests/convert_chart_to_image_request.rb +9 -7
  15. data/lib/aspose_cells_cloud/requests/convert_chart_to_pdf_request.rb +9 -7
  16. data/lib/aspose_cells_cloud/requests/convert_range_to_csv_request.rb +9 -7
  17. data/lib/aspose_cells_cloud/requests/convert_range_to_html_request.rb +9 -7
  18. data/lib/aspose_cells_cloud/requests/convert_range_to_image_request.rb +9 -7
  19. data/lib/aspose_cells_cloud/requests/convert_range_to_json_request.rb +9 -7
  20. data/lib/aspose_cells_cloud/requests/convert_range_to_pdf_request.rb +9 -7
  21. data/lib/aspose_cells_cloud/requests/convert_spreadsheet_request.rb +9 -7
  22. data/lib/aspose_cells_cloud/requests/convert_spreadsheet_to_csv_request.rb +146 -0
  23. data/lib/aspose_cells_cloud/requests/convert_spreadsheet_to_pdf_request.rb +146 -0
  24. data/lib/aspose_cells_cloud/requests/convert_table_to_csv_request.rb +9 -7
  25. data/lib/aspose_cells_cloud/requests/convert_table_to_html_request.rb +9 -7
  26. data/lib/aspose_cells_cloud/requests/convert_table_to_image_request.rb +9 -7
  27. data/lib/aspose_cells_cloud/requests/convert_table_to_json_request.rb +9 -7
  28. data/lib/aspose_cells_cloud/requests/convert_table_to_pdf_request.rb +9 -7
  29. data/lib/aspose_cells_cloud/requests/convert_text_request.rb +190 -0
  30. data/lib/aspose_cells_cloud/requests/convert_worksheet_to_image_request.rb +9 -7
  31. data/lib/aspose_cells_cloud/requests/convert_worksheet_to_pdf_request.rb +9 -7
  32. data/lib/aspose_cells_cloud/requests/create_spreadsheet_request.rb +139 -0
  33. data/lib/aspose_cells_cloud/requests/delete_worksheet_from_spreadsheet_request.rb +150 -0
  34. data/lib/aspose_cells_cloud/requests/export_chart_as_format_request.rb +6 -6
  35. data/lib/aspose_cells_cloud/requests/export_range_as_format_request.rb +6 -6
  36. data/lib/aspose_cells_cloud/requests/export_spreadsheet_as_format_request.rb +6 -6
  37. data/lib/aspose_cells_cloud/requests/export_table_as_format_request.rb +6 -6
  38. data/lib/aspose_cells_cloud/requests/export_worksheet_as_format_request.rb +6 -6
  39. data/lib/aspose_cells_cloud/requests/extract_text_request.rb +226 -0
  40. data/lib/aspose_cells_cloud/requests/import_data_into_spreadsheet_request.rb +208 -0
  41. data/lib/aspose_cells_cloud/requests/math_calculate_request.rb +162 -0
  42. data/lib/aspose_cells_cloud/requests/merge_remote_spreadsheet_request.rb +6 -6
  43. data/lib/aspose_cells_cloud/requests/merge_spreadsheets_in_remote_folder_request.rb +6 -6
  44. data/lib/aspose_cells_cloud/requests/merge_spreadsheets_request.rb +6 -6
  45. data/lib/aspose_cells_cloud/requests/move_worksheet_in_spreadsheet_request.rb +162 -0
  46. data/lib/aspose_cells_cloud/requests/protect_spreadsheet_request.rb +9 -7
  47. data/lib/aspose_cells_cloud/requests/put_workbook_background_request.rb +3 -2
  48. data/lib/aspose_cells_cloud/requests/put_worksheet_background_request.rb +2 -2
  49. data/lib/aspose_cells_cloud/requests/remove_characters_request.rb +246 -0
  50. data/lib/aspose_cells_cloud/requests/remove_duplicates_request.rb +162 -0
  51. data/lib/aspose_cells_cloud/requests/{delete_spreadsheet_blank_columns_request.rb → remove_spreadsheet_blank_columns_request.rb} +15 -13
  52. data/lib/aspose_cells_cloud/requests/{delete_spreadsheet_blank_rows_request.rb → remove_spreadsheet_blank_rows_request.rb} +15 -13
  53. data/lib/aspose_cells_cloud/requests/{delete_spreadsheet_blank_worksheets_request.rb → remove_spreadsheet_blank_worksheets_request.rb} +15 -13
  54. data/lib/aspose_cells_cloud/requests/rename_worksheet_in_spreadsheet_request.rb +162 -0
  55. data/lib/aspose_cells_cloud/requests/repair_spreadsheet_request.rb +138 -0
  56. data/lib/aspose_cells_cloud/requests/replace_content_in_remote_range_request.rb +6 -6
  57. data/lib/aspose_cells_cloud/requests/replace_content_in_remote_spreadsheet_request.rb +6 -6
  58. data/lib/aspose_cells_cloud/requests/replace_content_in_remote_worksheet_request.rb +6 -6
  59. data/lib/aspose_cells_cloud/requests/replace_spreadsheet_content_request.rb +9 -7
  60. data/lib/aspose_cells_cloud/requests/save_spreadsheet_as_request.rb +6 -6
  61. data/lib/aspose_cells_cloud/requests/search_broken_links_in_remote_range_request.rb +7 -7
  62. data/lib/aspose_cells_cloud/requests/search_broken_links_in_remote_spreadsheet_request.rb +7 -7
  63. data/lib/aspose_cells_cloud/requests/search_broken_links_in_remote_worksheet_request.rb +7 -7
  64. data/lib/aspose_cells_cloud/requests/search_content_in_remote_range_request.rb +6 -6
  65. data/lib/aspose_cells_cloud/requests/search_content_in_remote_spreadsheet_request.rb +6 -6
  66. data/lib/aspose_cells_cloud/requests/search_content_in_remote_worksheet_request.rb +6 -6
  67. data/lib/aspose_cells_cloud/requests/search_spreadsheet_broken_links_request.rb +10 -8
  68. data/lib/aspose_cells_cloud/requests/search_spreadsheet_content_request.rb +9 -7
  69. data/lib/aspose_cells_cloud/requests/spec_request.rb +6 -6
  70. data/lib/aspose_cells_cloud/requests/split_remote_spreadsheet_request.rb +6 -6
  71. data/lib/aspose_cells_cloud/requests/split_spreadsheet_request.rb +9 -7
  72. data/lib/aspose_cells_cloud/requests/split_text_request.rb +214 -0
  73. data/lib/aspose_cells_cloud/requests/spreadsheet_digitalsignature_request.rb +142 -0
  74. data/lib/aspose_cells_cloud/requests/swap_range_request.rb +186 -0
  75. data/lib/aspose_cells_cloud/requests/trim_character_request.rb +210 -0
  76. data/lib/aspose_cells_cloud/requests/unprotect_spreadsheet_request.rb +9 -7
  77. data/lib/aspose_cells_cloud/requests/update_word_case_request.rb +166 -0
  78. data/lib/aspose_cells_cloud/requests/upload_file_request.rb +3 -1
  79. data/lib/aspose_cells_cloud/version.rb +1 -1
  80. data/lib/aspose_cells_cloud.rb +30 -5
  81. metadata +31 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 918fa02597cf4e8f7eaf95b8fc96df2ebc3e548fb47aa7ace69343814dded631
4
- data.tar.gz: ab6f461f740e55814718c1d4a574254148e1e8c7f7ebb833d7b16d297d9f5281
3
+ metadata.gz: 0cbd190fc6a52a9ab31719aee387fcef5864ddae02d8523934c4a51135476bb7
4
+ data.tar.gz: 5152b3839c1e466c791a958a770b18da92945c6124091c5689d6469b8064a975
5
5
  SHA512:
6
- metadata.gz: cffbafbfb94c4418619a2d901372214cb0de41588d883e97c3ff19bf55ace6eb0b6d18a15883c01f5286920cc393244b94b2e6dab832752e16a87b47412faa2d
7
- data.tar.gz: 7f9e6d998dd7acd32df0cec33d38dfdbb37d8bd759d8b89182c19a186c27fbe430fa6ef89db99964afb5598f38584c2b7f9dd9f96eb5a0eb353a97c14fe7d111
6
+ metadata.gz: 255f7a0f2b04da523d262bc333a24753756df370e02f034d0808352a169f7221ec0747ceb697fa0e693822e66d029acfb9d2b7788721e46502cf1a0b67397542
7
+ data.tar.gz: 60c2d4d437b04faf4d02d459b7fb0936f8a345600f00ce4c05b87da9157d7114e39c3279f616160048c803c4ec6235f39bfb538a520643614c0e145ba3c2dcbc
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
- ![](https://img.shields.io/badge/aspose.cells%20Cloud%20SDK-25.7-green?style=for-the-badge&logo=ruby) [![Product Page](https://img.shields.io/badge/Product-0288d1?style=for-the-badge&logo=Google-Chrome&logoColor=white)](https://products.aspose.cloud/cells/ruby/) [![Documentation](https://img.shields.io/badge/Documentation-388e3c?style=for-the-badge&logo=Hugo&logoColor=white)](https://docs.aspose.cloud/cells/) [![API Ref](https://img.shields.io/badge/Reference-f39c12?style=for-the-badge&logo=html5&logoColor=white)](https://reference.aspose.cloud/cells/) [![Examples](https://img.shields.io/badge/Examples-1565c0?style=for-the-badge&logo=Github&logoColor=white)](https://github.com/aspose-cells-cloud/aspose-cells-cloud-perl/tree/master/Examples) [![Blog](https://img.shields.io/badge/Blog-d32f2f?style=for-the-badge&logo=WordPress&logoColor=white)](https://blog.aspose.cloud/categories/aspose.cells-cloud-product-family/) [![Support](https://img.shields.io/badge/Support-7b1fa2?style=for-the-badge&logo=Discourse&logoColor=white)](https://forum.aspose.cloud/c/cells/7) [![Gem](https://img.shields.io/gem/v/aspose_cells_cloud?style=for-the-badge)](https://rubygems.org/gems/aspose_cells_cloud) [![Gem](https://img.shields.io/gem/dt/aspose_cells_cloud?style=for-the-badge)](https://github.com/aspose-cells-cloud/aspose-cells-cloud-ruby/archive/refs/heads/master.zip) [![GitHub license](https://img.shields.io/github/license/aspose-cells-cloud/aspose-cells-cloud-ruby?style=for-the-badge)](https://github.com/aspose-cells-cloud/aspose-cells-cloud-ruby/blob/master/LICENSE) ![GitHub commits since latest release (by date)](https://img.shields.io/github/commits-since/aspose-cells-cloud/aspose-cells-cloud-ruby/25.7?style=for-the-badge)
1
+ ![](https://img.shields.io/badge/aspose.cells%20Cloud%20SDK-25.10-green?style=for-the-badge&logo=ruby) [![Product Page](https://img.shields.io/badge/Product-0288d1?style=for-the-badge&logo=Google-Chrome&logoColor=white)](https://products.aspose.cloud/cells/ruby/) [![Documentation](https://img.shields.io/badge/Documentation-388e3c?style=for-the-badge&logo=Hugo&logoColor=white)](https://docs.aspose.cloud/cells/) [![API Ref](https://img.shields.io/badge/Reference-f39c12?style=for-the-badge&logo=html5&logoColor=white)](https://reference.aspose.cloud/cells/) [![Examples](https://img.shields.io/badge/Examples-1565c0?style=for-the-badge&logo=Github&logoColor=white)](https://github.com/aspose-cells-cloud/aspose-cells-cloud-perl/tree/master/Examples) [![Blog](https://img.shields.io/badge/Blog-d32f2f?style=for-the-badge&logo=WordPress&logoColor=white)](https://blog.aspose.cloud/categories/aspose.cells-cloud-product-family/) [![Support](https://img.shields.io/badge/Support-7b1fa2?style=for-the-badge&logo=Discourse&logoColor=white)](https://forum.aspose.cloud/c/cells/7) [![Gem](https://img.shields.io/gem/v/aspose_cells_cloud?style=for-the-badge)](https://rubygems.org/gems/aspose_cells_cloud) [![Gem](https://img.shields.io/gem/dt/aspose_cells_cloud?style=for-the-badge)](https://github.com/aspose-cells-cloud/aspose-cells-cloud-ruby/archive/refs/heads/master.zip) [![GitHub license](https://img.shields.io/github/license/aspose-cells-cloud/aspose-cells-cloud-ruby?style=for-the-badge)](https://github.com/aspose-cells-cloud/aspose-cells-cloud-ruby/blob/master/LICENSE) ![GitHub commits since latest release (by date)](https://img.shields.io/github/commits-since/aspose-cells-cloud/aspose-cells-cloud-ruby/25.10?style=for-the-badge)
2
2
 
3
- # Ruby package for Aspose.Cells Cloud
4
-
5
- Enhance your Ruby applications with the [Aspose.Cells Cloud](https://products.aspose.cloud/cells/ruby) , enabling seamless integration with [Excel, ODS, CSV, Json and other spreadsheet document formats](https://docs.aspose.cloud/cells/supported-file-formats/). With its powerful APIs, developers can effortlessly read, convert, create, edit, and manipulate the contents of Excel documents without the need for any office software installed on the machine.
3
+ [Aspose.Cells Cloud SDK for Ruby](https://products.aspose.cloud/cells/ruby) is a cloud-first REST API that lets Ruby applications create, read, edit, convert, and repair [Excel, ODS, CSV, JSON, and other spreadsheet files](https://docs.aspose.cloud/cells/supported-file-formats/) without installing Microsoft Office. It supports advanced features, including cell formatting, formulas, pivot tables, conditional styling, charts, hyperlinks, comments, data validation, document splitting, and merging, and runs on AWS, Azure, and Google Cloud, while ensuring data integrity.
6
4
 
7
5
  ## Quick Start Guide
8
6
 
@@ -14,7 +12,7 @@ To begin with Aspose.Cells Cloud, here's what you need to do:
14
12
  - execute the following command to get the latest Gem package.
15
13
 
16
14
  ```console
17
- gem 'aspose_cells_cloud', '~> 20.10'
15
+ gem 'aspose_cells_cloud', '~> 25.10'
18
16
  ```
19
17
 
20
18
  or install directly
@@ -30,13 +28,32 @@ require 'openssl'
30
28
  require 'bundler'
31
29
  require 'aspose_cells_cloud'
32
30
 
33
- @instance = AsposeCellsCloud::CellsApi.new(ENV['CellsCloudClientId'], ENV['CellsCloudClientSecret'])
34
- request = AsposeCellsCloud::PutConvertWorkbookRequest.new(:File=>{"EmployeeSalesSummary.xlsx" => ::File.open(File.expand_path("./EmployeeSalesSummary.xlsx"),"r") },:format=>"csv");
35
- response = @instance.put_convert_workbook(request);
31
+ CellsCloudClientId = "...." # get from https://dashboard.aspose.cloud/#/applications -> Set ENV['CellsCloudClientId']
32
+ CellsCloudClientSecret = "...." # get from https://dashboard.aspose.cloud/#/applications -> Set ENV['CellsCloudClientSecret']
33
+
34
+ @instance = AsposeCellsCloud::CellsApi.new(CellsCloudClientId, CellsCloudClientSecret)
35
+ request = AsposeCellsCloud::ConvertSpreadsheetRequest.new(:Spreadsheet=>'EmployeeSalesSummary.xlsx',:format=>format);
36
+ response = @instance.convert_spreadsheet(request);
36
37
  FileUtils.cp(response.path, 'EmployeeSalesSummary.csv')
37
38
 
38
39
  ```
39
40
 
41
+ 4. How to upload a file to cloud storage.
42
+
43
+ ```ruby
44
+ require 'openssl'
45
+ require 'bundler'
46
+ require 'aspose_cells_cloud'
47
+
48
+ CellsCloudClientId = "...." # get from https://dashboard.aspose.cloud/#/applications -> Set ENV['CellsCloudClientId']
49
+ CellsCloudClientSecret = "...." # get from https://dashboard.aspose.cloud/#/applications -> Set ENV['CellsCloudClientSecret']
50
+
51
+ @instance = AsposeCellsCloud::CellsApi.new(CellsCloudClientId, CellsCloudClientSecret)
52
+ request = AsposeCellsCloud::UploadFileRequest.new(:UploadFiles=>"EmployeeSalesSummary.xlsx",:path=>"TestData/EmployeeSalesSummary.xlsx",:storageName=>'');
53
+ @instance.upload_file(request);
54
+
55
+ ```
56
+
40
57
  ## Support file format
41
58
 
42
59
  |**Format**|**Description**|**Load**|**Save**|
@@ -97,15 +114,20 @@ FileUtils.cp(response.path, 'EmployeeSalesSummary.csv')
97
114
  - Import/Export: Facilitates importing data from various sources into spreadsheets and exporting spreadsheet data to other formats.
98
115
  - Security Management: Offers a range of security features like data encryption, access control, and permission management to safeguard the security and integrity of spreadsheet data.
99
116
 
100
- ## Feature & Enhancements in Version v25.7.0
117
+ ## Feature & Enhancements in Version 25.10
101
118
 
102
119
  Full list of issues covering all changes in this release:
103
120
 
104
- |**Summary**| **Category** |
105
- | :- |:-------------|
106
- | Optimize operate scope options for extProcessingController.| Improvement |
107
- | Add protect/unprotect spreadsheet APIs.| New Feature |
108
- | Add convert worksheet/table/range to other formats. | New Feature |
121
+ |**Summary**|**Category**|
122
+ | :- | :- |
123
+ | Optimize data Transform API: replace delete with remove. | Improvement |
124
+ | Support to update the spreadsheet content words case in Cells Cloud 4.0. | Improvement |
125
+ | Support to remove characters from spreadsheet content in Cells Cloud 4.0. | Improvement |
126
+ | Support to add text for spreadsheet content in Cells Cloud 4.0. | Improvement |
127
+ | Support to convert text for spreadsheet content in Cells Cloud 4.0. | Improvement |
128
+ | Support to extract text for spreadsheet content in Cells Cloud 4.0. | Improvement |
129
+ | Support to extract text for spreadsheet content in Cells Cloud 4.0. | Improvement |
130
+ | Support to split text for spreadsheet content in Cells Cloud 4.0. | Improvement |
109
131
 
110
132
  ## Available SDKs
111
133
 
@@ -127,4 +149,4 @@ The Aspose.Cells Cloud SDK is available in multiple popular programming language
127
149
 
128
150
  [![Ruby](https://img.shields.io/badge/Ruby-CC342D.svg?style=for-the-badge&logo=ruby&logoColor=white)](https://github.com/aspose-cells-cloud/aspose-cells-cloud-ruby) [![Ruby](https://img.shields.io/badge/Gem-aspose__cells__cloud-red?logo=ruby&style=for-the-badge)](https://rubygems.org/gems/aspose_cells_cloud)
129
151
 
130
- ## [Release history version](HistoryVersion.md)
152
+ ## [Release history version](CHANGELOG.md)
@@ -40,6 +40,21 @@ module AsposeCellsCloud
40
40
  @api_client.config.host = app_host
41
41
  end
42
42
 
43
+ # The Aggregate by Color API provides a convenient way to perform calculations on cells that share the same fill or font color. This API supports a range of aggregate operations, including count, sum, maximum value, minimum value, and average value, enabling you to analyze and summarize data based on color distinctions.
44
+
45
+ def aggregate_cells_by_color( aggregate_cells_by_color_request, opts = {})
46
+
47
+ data, _status_code, _headers = aggregate_cells_by_color_request.create_http_request(@api_client,opts )
48
+ return data
49
+ end
50
+
51
+
52
+ def math_calculate( math_calculate_request, opts = {})
53
+
54
+ data, _status_code, _headers = math_calculate_request.create_http_request(@api_client,opts )
55
+ return data
56
+ end
57
+
43
58
  # Get Access Token Result: The Cells Cloud Get Token API acts as a proxy service,
44
59
  # forwarding user requests to the Aspose Cloud authentication server and returning the resulting access token to the client.
45
60
 
@@ -113,6 +128,22 @@ module AsposeCellsCloud
113
128
  return data
114
129
  end
115
130
 
131
+ # Converts a spreadsheet on a local drive to the pdf file.
132
+
133
+ def convert_spreadsheet_to_pdf( convert_spreadsheet_to_pdf_request, opts = {})
134
+
135
+ data, _status_code, _headers = convert_spreadsheet_to_pdf_request.create_http_request(@api_client,opts )
136
+ return data
137
+ end
138
+
139
+ # Converts a spreadsheet on a local drive to the csv file.
140
+
141
+ def convert_spreadsheet_to_csv( convert_spreadsheet_to_csv_request, opts = {})
142
+
143
+ data, _status_code, _headers = convert_spreadsheet_to_csv_request.create_http_request(@api_client,opts )
144
+ return data
145
+ end
146
+
116
147
  # Converts a worksheet of spreadsheet on a local drive to the image format.
117
148
 
118
149
  def convert_worksheet_to_image( convert_worksheet_to_image_request, opts = {})
@@ -273,6 +304,14 @@ module AsposeCellsCloud
273
304
  return data
274
305
  end
275
306
 
307
+ # Import data into a spreadsheet from a supported data file format.
308
+
309
+ def import_data_into_spreadsheet( import_data_into_spreadsheet_request, opts = {})
310
+
311
+ data, _status_code, _headers = import_data_into_spreadsheet_request.create_http_request(@api_client,opts )
312
+ return data
313
+ end
314
+
276
315
  # Get an asymmetric public key.
277
316
 
278
317
  def get_public_key( get_public_key_request, opts = {})
@@ -281,6 +320,61 @@ module AsposeCellsCloud
281
320
  return data
282
321
  end
283
322
 
323
+ # The Web API allows users to create a new spreadsheet with a specified name. Optionally, a template can be provided to initialize the spreadsheet with predefined content or formatting.
324
+
325
+ def create_spreadsheet( create_spreadsheet_request, opts = {})
326
+
327
+ data, _status_code, _headers = create_spreadsheet_request.create_http_request(@api_client,opts )
328
+ return data
329
+ end
330
+
331
+ # The Web API enables users to add a new worksheet to a workbook, specifying the worksheet's type, position, and name. This function provides flexibility in managing workbook structure by allowing detailed control over worksheet addition.
332
+
333
+ def add_worksheet_to_spreadsheet( add_worksheet_to_spreadsheet_request, opts = {})
334
+
335
+ data, _status_code, _headers = add_worksheet_to_spreadsheet_request.create_http_request(@api_client,opts )
336
+ return data
337
+ end
338
+
339
+ # The Web API endpoint allows users to delete a specified worksheet from a workbook. This function provides a straightforward way to manage workbook structure by removing unnecessary or redundant worksheets.
340
+
341
+ def delete_worksheet_from_spreadsheet( delete_worksheet_from_spreadsheet_request, opts = {})
342
+
343
+ data, _status_code, _headers = delete_worksheet_from_spreadsheet_request.create_http_request(@api_client,opts )
344
+ return data
345
+ end
346
+
347
+ # The Web API endpoint allows users to rename a specified worksheet within a workbook. This function provides a straightforward way to update worksheet names, enhancing workbook organization and readability.
348
+
349
+ def rename_worksheet_in_spreadsheet( rename_worksheet_in_spreadsheet_request, opts = {})
350
+
351
+ data, _status_code, _headers = rename_worksheet_in_spreadsheet_request.create_http_request(@api_client,opts )
352
+ return data
353
+ end
354
+
355
+ # The Web API endpoint allows users to move a specified worksheet within a workbook. This function provides a straightforward way to move a worksheet, enhancing workbook organization.
356
+
357
+ def move_worksheet_in_spreadsheet( move_worksheet_in_spreadsheet_request, opts = {})
358
+
359
+ data, _status_code, _headers = move_worksheet_in_spreadsheet_request.create_http_request(@api_client,opts )
360
+ return data
361
+ end
362
+
363
+ # The Web API endpoint allows users to compress a spreadsheet to reduce its file size. This function provides a straightforward way to optimize the storage and performance of spreadsheets by applying a specified compression level.
364
+
365
+ def compress_spreadsheet( compress_spreadsheet_request, opts = {})
366
+
367
+ data, _status_code, _headers = compress_spreadsheet_request.create_http_request(@api_client,opts )
368
+ return data
369
+ end
370
+
371
+
372
+ def repair_spreadsheet( repair_spreadsheet_request, opts = {})
373
+
374
+ data, _status_code, _headers = repair_spreadsheet_request.create_http_request(@api_client,opts )
375
+ return data
376
+ end
377
+
284
378
  # Applies dual-layer password protection to Excel spreadsheets, supporting both open and modify passwords with encryption.
285
379
 
286
380
  def protect_spreadsheet( protect_spreadsheet_request, opts = {})
@@ -297,6 +391,13 @@ module AsposeCellsCloud
297
391
  return data
298
392
  end
299
393
 
394
+
395
+ def spreadsheet_digitalsignature( spreadsheet_digitalsignature_request, opts = {})
396
+
397
+ data, _status_code, _headers = spreadsheet_digitalsignature_request.create_http_request(@api_client,opts )
398
+ return data
399
+ end
400
+
300
401
  # Search text in the local spreadsheet.
301
402
 
302
403
  def search_spreadsheet_content( search_spreadsheet_content_request, opts = {})
@@ -408,27 +509,98 @@ module AsposeCellsCloud
408
509
  return data
409
510
  end
410
511
 
411
- # Delete all blank rows which do not contain any data or other object.
512
+ # The TrimSpreadsheetContent API is designed to process and trim content within a spreadsheet. This API allows users to remove extra spaces, line breaks, or other unnecessary characters from the content of selected cells. It is particularly useful for cleaning up data entries and ensuring consistency in spreadsheet formatting
513
+
514
+ def trim_character( trim_character_request, opts = {})
515
+
516
+ data, _status_code, _headers = trim_character_request.create_http_request(@api_client,opts )
517
+ return data
518
+ end
519
+
520
+ # Specify changing the text case in a spreadsheet to switch between uppercase, lowercase, capitalizing the first letter of each word, or capitalizing the first letter of a sentence, and adjust the text according to specific needs.
521
+
522
+ def update_word_case( update_word_case_request, opts = {})
523
+
524
+ data, _status_code, _headers = update_word_case_request.create_http_request(@api_client,opts )
525
+ return data
526
+ end
527
+
528
+ # Perform operations or delete any custom characters, character sets, and substrings within a selected range for a specific position.
529
+
530
+ def remove_characters( remove_characters_request, opts = {})
531
+
532
+ data, _status_code, _headers = remove_characters_request.create_http_request(@api_client,opts )
533
+ return data
534
+ end
535
+
536
+ # Specify appending text to multiple cells at once, allowing you to add prefixes, suffixes, labels, or any specific characters. You can choose the exact position of the text—in the beginning, at the end, or before or after certain characters in the cell.
537
+
538
+ def add_text( add_text_request, opts = {})
539
+
540
+ data, _status_code, _headers = add_text_request.create_http_request(@api_client,opts )
541
+ return data
542
+ end
543
+
544
+ # Indicates converting the numbers stored as text into the correct number format, replacing unwanted characters and line breaks with the desired characters, and converting accented characters to their equivalent characters without accents.
545
+
546
+ def convert_text( convert_text_request, opts = {})
547
+
548
+ data, _status_code, _headers = convert_text_request.create_http_request(@api_client,opts )
549
+ return data
550
+ end
551
+
552
+ # Indicates extracting substrings, text characters, and numbers from a spreadsheet cell into another cell without having to use complex FIND, MIN, LEFT, or RIGHT formulas.
553
+
554
+ def extract_text( extract_text_request, opts = {})
555
+
556
+ data, _status_code, _headers = extract_text_request.create_http_request(@api_client,opts )
557
+ return data
558
+ end
559
+
560
+ # Indicates performing text segmentation on the specified area according to the segmentation method, and outputting to the designated interval.
561
+
562
+ def split_text( split_text_request, opts = {})
563
+
564
+ data, _status_code, _headers = split_text_request.create_http_request(@api_client,opts )
565
+ return data
566
+ end
567
+
568
+ # Delete all blank rows that do not contain any data or other objects.
569
+
570
+ def remove_spreadsheet_blank_rows( remove_spreadsheet_blank_rows_request, opts = {})
571
+
572
+ data, _status_code, _headers = remove_spreadsheet_blank_rows_request.create_http_request(@api_client,opts )
573
+ return data
574
+ end
575
+
576
+ # Delete all blank rows that do not contain any data or other objects.
577
+
578
+ def remove_spreadsheet_blank_columns( remove_spreadsheet_blank_columns_request, opts = {})
579
+
580
+ data, _status_code, _headers = remove_spreadsheet_blank_columns_request.create_http_request(@api_client,opts )
581
+ return data
582
+ end
583
+
584
+ # Delete all blank rows that do not contain any data or other objects.
412
585
 
413
- def delete_spreadsheet_blank_rows( delete_spreadsheet_blank_rows_request, opts = {})
586
+ def remove_spreadsheet_blank_worksheets( remove_spreadsheet_blank_worksheets_request, opts = {})
414
587
 
415
- data, _status_code, _headers = delete_spreadsheet_blank_rows_request.create_http_request(@api_client,opts )
588
+ data, _status_code, _headers = remove_spreadsheet_blank_worksheets_request.create_http_request(@api_client,opts )
416
589
  return data
417
590
  end
418
591
 
419
- # Delete all blank columns which do not contain any data.
420
592
 
421
- def delete_spreadsheet_blank_columns( delete_spreadsheet_blank_columns_request, opts = {})
593
+ def remove_duplicates( remove_duplicates_request, opts = {})
422
594
 
423
- data, _status_code, _headers = delete_spreadsheet_blank_columns_request.create_http_request(@api_client,opts )
595
+ data, _status_code, _headers = remove_duplicates_request.create_http_request(@api_client,opts )
424
596
  return data
425
597
  end
426
598
 
427
- # Delete all blank worksheets which do not contain any data or other object.
599
+ # The Swap Ranges for Excel API provides a powerful tool to move any two columns, rows, ranges, or individual cells within an Excel file. This API allows users to re-arrange their tables quickly and efficiently, ensuring that the original data formatting is preserved and all existing formulas continue to function correctly. By leveraging this API, users can streamline their data manipulation tasks and maintain the integrity of their spreadsheets.
428
600
 
429
- def delete_spreadsheet_blank_worksheets( delete_spreadsheet_blank_worksheets_request, opts = {})
601
+ def swap_range( swap_range_request, opts = {})
430
602
 
431
- data, _status_code, _headers = delete_spreadsheet_blank_worksheets_request.create_http_request(@api_client,opts )
603
+ data, _status_code, _headers = swap_range_request.create_http_request(@api_client,opts )
432
604
  return data
433
605
  end
434
606
 
@@ -0,0 +1,282 @@
1
+ =begin
2
+ --------------------------------------------------------------------------------------------------------------------
3
+ <copyright company="Aspose" file="AggregateResultByColorrb.cs">
4
+ Copyright (c) 2025 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 AggregateResultByColor
34
+ #
35
+ attr_accessor :aggregate_operation
36
+ #
37
+ attr_accessor :color_name
38
+ #
39
+ attr_accessor :count
40
+ #
41
+ attr_accessor :sum
42
+ #
43
+ attr_accessor :max_value
44
+ #
45
+ attr_accessor :min_value
46
+ #
47
+ attr_accessor :average_value
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'aggregate_operation' => :'AggregateOperation',
53
+ :'color_name' => :'ColorName',
54
+ :'count' => :'Count',
55
+ :'sum' => :'Sum',
56
+ :'max_value' => :'MaxValue',
57
+ :'min_value' => :'MinValue',
58
+ :'average_value' => :'AverageValue'
59
+ }
60
+ end
61
+
62
+ # Attribute type mapping.
63
+ def self.swagger_types
64
+ {
65
+ :'aggregate_operation' => :'String',
66
+ :'color_name' => :'String',
67
+ :'count' => :'Integer',
68
+ :'sum' => :'Float',
69
+ :'max_value' => :'Float',
70
+ :'min_value' => :'Float',
71
+ :'average_value' => :'Float'
72
+ }
73
+ end
74
+
75
+ # Initializes the object
76
+ # @param [Hash] attributes Model attributes in the form of hash
77
+ def initialize(attributes = {})
78
+ return unless attributes.is_a?(Hash)
79
+
80
+ # convert string to symbol for hash key
81
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
82
+
83
+ if attributes.has_key?(:'AggregateOperation')
84
+ self.aggregate_operation = attributes[:'AggregateOperation']
85
+ end
86
+ if attributes.has_key?(:'ColorName')
87
+ self.color_name = attributes[:'ColorName']
88
+ end
89
+ if attributes.has_key?(:'Count')
90
+ self.count = attributes[:'Count']
91
+ end
92
+ if attributes.has_key?(:'Sum')
93
+ self.sum = attributes[:'Sum']
94
+ end
95
+ if attributes.has_key?(:'MaxValue')
96
+ self.max_value = attributes[:'MaxValue']
97
+ end
98
+ if attributes.has_key?(:'MinValue')
99
+ self.min_value = attributes[:'MinValue']
100
+ end
101
+ if attributes.has_key?(:'AverageValue')
102
+ self.average_value = attributes[:'AverageValue']
103
+ end
104
+
105
+ end
106
+
107
+ # Show invalid properties with the reasons. Usually used together with valid?
108
+ # @return Array for valid properies with the reasons
109
+ def list_invalid_properties
110
+ invalid_properties = Array.new
111
+ if @aggregate_operation.nil?
112
+ invalid_properties.push("invalid value for 'aggregate_operation', aggregate_operation cannot be nil.")
113
+ end
114
+ if @color_name.nil?
115
+ invalid_properties.push("invalid value for 'color_name', color_name cannot be nil.")
116
+ end
117
+ if @count.nil?
118
+ invalid_properties.push("invalid value for 'count', count cannot be nil.")
119
+ end
120
+ if @sum.nil?
121
+ invalid_properties.push("invalid value for 'sum', sum cannot be nil.")
122
+ end
123
+ if @max_value.nil?
124
+ invalid_properties.push("invalid value for 'max_value', max_value cannot be nil.")
125
+ end
126
+ if @min_value.nil?
127
+ invalid_properties.push("invalid value for 'min_value', min_value cannot be nil.")
128
+ end
129
+ if @average_value.nil?
130
+ invalid_properties.push("invalid value for 'average_value', average_value cannot be nil.")
131
+ end
132
+
133
+ return invalid_properties
134
+ end
135
+
136
+ # Check to see if the all the properties in the model are valid
137
+ # @return true if the model is valid
138
+ def valid?
139
+ return false if @aggregate_operation.nil?
140
+ return false if @color_name.nil?
141
+ return false if @count.nil?
142
+ return false if @sum.nil?
143
+ return false if @max_value.nil?
144
+ return false if @min_value.nil?
145
+ return false if @average_value.nil?
146
+ return true
147
+ end
148
+
149
+ # Checks equality by comparing each attribute.
150
+ # @param [Object] Object to be compared
151
+ def ==(o)
152
+ return true if self.equal?(o)
153
+ self.class == o.class &&
154
+ aggregate_operation == o.aggregate_operation &&
155
+ color_name == o.color_name &&
156
+ count == o.count &&
157
+ sum == o.sum &&
158
+ max_value == o.max_value &&
159
+ min_value == o.min_value &&
160
+ average_value == o.average_value
161
+ std_dev == o.std_dev
162
+ end
163
+
164
+ # @see the `==` method
165
+ # @param [Object] Object to be compared
166
+ def eql?(o)
167
+ self == o
168
+ end
169
+
170
+ # Calculates hash code according to all attributes.
171
+ # @return [Fixnum] Hash code
172
+ def hash
173
+ [ aggregate_operation , color_name , count , sum , max_value , min_value , average_value ].hash
174
+ end
175
+
176
+ # Builds the object from hash
177
+ # @param [Hash] attributes Model attributes in the form of hash
178
+ # @return [Object] Returns the model itself
179
+ def build_from_hash(attributes)
180
+ return nil unless attributes.is_a?(Hash)
181
+ self.class.swagger_types.each_pair do |key, type|
182
+ if type =~ /\AArray<(.*)>/i
183
+ # check to ensure the input is an array given that the the attribute
184
+ # is documented as an array but the input is not
185
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
186
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
187
+ end
188
+ elsif !attributes[self.class.attribute_map[key]].nil?
189
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
190
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
191
+ end
192
+
193
+ self
194
+ end
195
+
196
+ # Deserializes the data based on type
197
+ # @param string type Data type
198
+ # @param string value Value to be deserialized
199
+ # @return [Object] Deserialized data
200
+ def _deserialize(type, value)
201
+ case type.to_sym
202
+ when :DateTime
203
+ DateTime.parse(value)
204
+ when :Date
205
+ Date.parse(value)
206
+ when :String
207
+ value.to_s
208
+ when :Integer
209
+ value.to_i
210
+ when :Float
211
+ value.to_f
212
+ when :BOOLEAN
213
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
214
+ true
215
+ else
216
+ false
217
+ end
218
+ when :Object
219
+ # generic object (usually a Hash), return directly
220
+ value
221
+ when /\AArray<(?<inner_type>.+)>\z/
222
+ inner_type = Regexp.last_match[:inner_type]
223
+ value.map { |v| _deserialize(inner_type, v) }
224
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
225
+ k_type = Regexp.last_match[:k_type]
226
+ v_type = Regexp.last_match[:v_type]
227
+ {}.tap do |hash|
228
+ value.each do |k, v|
229
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
230
+ end
231
+ end
232
+ else # model
233
+ temp_model = AsposeCellsCloud.const_get(type).new
234
+ temp_model.build_from_hash(value)
235
+ end
236
+ end
237
+
238
+ # Returns the string representation of the object
239
+ # @return [String] String presentation of the object
240
+ def to_s
241
+ to_hash.to_s
242
+ end
243
+
244
+ # to_body is an alias to to_hash (backward compatibility)
245
+ # @return [Hash] Returns the object in the form of hash
246
+ def to_body
247
+ to_hash
248
+ end
249
+
250
+ # Returns the object in the form of hash
251
+ # @return [Hash] Returns the object in the form of hash
252
+ def to_hash
253
+ hash = {}
254
+ self.class.attribute_map.each_pair do |attr, param|
255
+ value = self.send(attr)
256
+ next if value.nil?
257
+ hash[param] = _to_hash(value)
258
+ end
259
+ hash
260
+ end
261
+
262
+ # Outputs non-array value in the form of hash
263
+ # For object, use to_hash. Otherwise, just return the value
264
+ # @param [Object] value Any valid value
265
+ # @return [Hash] Returns the value in the form of hash
266
+ def _to_hash(value)
267
+ if value.is_a?(Array)
268
+ value.compact.map{ |v| _to_hash(v) }
269
+ elsif value.is_a?(Hash)
270
+ {}.tap do |hash|
271
+ value.each { |k, v| hash[k] = _to_hash(v) }
272
+ end
273
+ elsif value.respond_to? :to_hash
274
+ value.to_hash
275
+ else
276
+ value
277
+ end
278
+ end
279
+
280
+ end
281
+
282
+ end