[PAID] Ultimate Google Spreadsheet Extension Pack With/Without Image Hosting (An Alternative To Airtable)

:face_with_head_bandage:Airtable ’s move towards putting the restrictions for use of their database with free plan by introducing ‘Limited API Calls For Workspaces’, affected many apps in result they can’t even open, just because of the said API Calls Limit introduced by Airtable for every workspace, developers are unable to find the simplest and fastest way for their backend specially for Images (In Spreadsheet, Please Don’t Think To Host High Quality Images)

After too many tries and attempts we have finally accomplished this project and developed this Ultimate Spreadsheet Extension As An Airtable Alternative. Using this extension you can not only just read/write texts but also Host Images on Google Spreadsheet (Not High Quality Images).

Developers face issues when they have to work with Json :clown_face: Strings & working with :clown_face: is time consuming and irritating though! That is the reason we have completely removed working with the BAD JSON :clown_face: :rofl: Now from today you will not need to think about handling Json anymore when using Google Spreadsheet as a Backend for your Apps, because Ultimate Spreadsheet Extension works only with LIST.

We are providing the pack of 2 extensions, WHY?
The reason behind providing 2 extensions is the ‘Google Play Policy’ for reading external storage.

In this pack one extension will include ‘Read_External_Storage’ and ‘Read_Media_Images’ permission in your app for Google Play Policy Compliance and another extension will not include any permission. So, basically if you are going to build an app which just need to read/write texts on spreadsheet then you will just use Plain extension which does not require any permission (except internet access permission which is by default included by the builder for every apps), or for apps in which images to be hosted or retrieved using spreadsheet as a backendm then you’ll use another full featured extension from this pack of 2 extensions.

You can test these extensions in Kodular Companion but before testing, please read and understand all the functionalities we brought to you.

All the Blocks Are As Follows---------->>>>

component_event (2)
This event triggers after using ‘PickImage’ function and it provides the path of image for the purpose of converting image into string using ‘ImageFileToString’ function.

component_event (3)
This event triggers after accomplishment of ‘WriteSpreadsheet’ function.

component_event (4)
This event triggers after accomplishment of ‘AddValuesToColumn’ function.

component_event (5)
This event triggers after accomplishment of ‘CreateCell’ function.

component_event (6)
This event triggers after accomplishment of ‘CreateRows’ function.

component_event (7)
This event triggers after accomplishment of ‘CreateSheet’ function.

component_event (8)
This event triggers after accomplishment of ‘UpdateCell’ function.

component_event (9)
This event triggers after accomplishment of ‘UpdateRows’ function.

component_event (10)
This event triggers after accomplishment of ‘DeleteRow’ function.

component_event (11)
This event triggers after accomplishment of ‘DeleteColumn’ function.

component_event (12)
This event triggers after accomplishment of ‘ClearSheet’ function.

component_event (13)
This event triggers after accomplishment of ‘DeleteSheet’ function.

component_event (14)
This event triggers after accomplishment of ‘LoadImageFromString’ function.

component_event (15)
This event triggers after accomplishment of ‘ImageFileToString’ function. In result if Image is of high quality or its conversion not compatible to store in spreadsheet cells then result shall be ‘String out of cell limit’ else a converted string of image.

component_event (16)
This event triggers after accomplishment of ‘GetCell’ function. The data shall be a plain text value.

component_event (17)
This event triggers after accomplishment of ‘GetColumn’ function. The data shall be a list.

component_event (18)
This event triggers after accomplishment of ‘GetRow’ function. The data shall be a list of row of given number.

component_event (19)
This event triggers after accomplishment of ‘Search’ function. The data shall be a list of row numbers where the searched value exists.

component_event (20)
This event triggers after accomplishment of ‘GetTotalNumberOfRows’ function. The data shall be a in numbers as plain text.

component_event (21)
This event triggers after accomplishment of ‘ReadSpreadsheetData’ function or '‘RefreshData’ function. The data shall be list of lists.

component_event (22)
This event triggers after accomplishment of ‘ReadSpreadsheetFullRange’ function. The data shall be list of lists.

component_event (23)
This event triggers after accomplishment of ‘GetTotalNumberOfColumns’ function. The data shall be a total number of columns which hold the values.

component_event (24)
This event triggers after accomplishment of ‘FindValue’ function. The data shall be a list of two values the first item shall be column name and second item shall be row number.

component_event (25)
This event triggers after accomplishment of ‘FindAndReplace’ function. The data shall be success even if old value does not exist in the sheet.

component_event (26)
This event triggers after accomplishment of ‘SyncDataAndStoreInCache’ function. The data shall be list of lists.

component_event (27)
This event triggers after accomplishment of ‘GetOfflineData’ function. The data shall be list of lists.

component_event (28)
This event triggers after accomplishment of ‘QueryRecords’ function. The data shall be list of row for conditional query.

component_method (2)
For getting apps script url, open Spreadsheet- click on ‘Extensions’ then on ‘Apps Script’, erase everything and paste Apps Script provided from BharatTech with this extension and click on Deploy, then select New Deployment, In web app select ‘Me’ and in ‘who has access’ option select Anyone, then click Deploy. Copy script url and use in this function.

component_method (3)
Set the Sheet Name for reading/writing and for query.

component_method (4)
This function shall compress the image which is picked using ‘PickImage’ function. In quality- if set 100 then high quality, if set 40 the quality shall be decreased by 60% and a small size image shall be generated. In dimension- set in dp, example- 300.

component_method (5)
This function shall crop the image in circular for ‘SetImageCompression’ function and also for ‘LoadImageFromString’ function’. Set true/false.

component_method (6)
This function is only for ‘LoadImageFromString’ function and use only for those images which have been uploaded to spreadsheet cells with ‘SetCircularCrop’ enabled function. In color- any color, In thickness- value in dp, example- 4.

component_method (7)
This function reads spreadsheet from provided ranges. In sheetName- sheetname example- Sheet1, In range example- A1:G10.

component_method (8)
This function gets column, In columnName- example- A.

component_method (9)
This function gets a particular cell of spreadsheet, example- In ‘columnName’-A, In rowNumber- 1.

component_method (10)
This function is used to perform a search in particular Column, example- In columnName: A, keyword: Mango.

component_method (11)
This function is used to get row with row number, example- rowNumber:1.

component_method (12)
This function is performed to get total number of rows in DefaultSheet.

component_method (13)
This function is performed to refresh the whole data, and get whole data in event ‘GotSpreadsheetData’ function.

component_method (14)
This function is used to get whole sheet with sheetName, whilst using it, ‘SetDefaultSheet’ function not required.

component_method (15)
This function writes data to sheet, example- In sheetName:Sheet1, In range- A1:G10, In values- List (use make a list). In event result- Success/Error

component_method (16)
This function writes data to particular column, example- In columnName:A, In values- List (use make a list). In event result- Success/Error

component_method (17)
This function creates a new cell in sheet with the provided value, example- In columnName:A, In value-plain text. In event result- Success/Error

component_method (18)
This function creates new row for all the columns, example- In rows put a list (use make a list). In event result- Success/Error

component_method (19)
This function creates a new Sheet in spreadsheet.In event result- Success/Error

component_method (20)
This function updates a cell in sheet, example- In columnName:A, In rowNumber:1, In value:plain text. In event result- Success/Error

component_method (21)
This function updates multiple rows, example- In rowNumber:1, In columnNames- list of columns A, B, C (use make a list), In values- list of values. In event result- Success/Error

component_method (22)
This function shall deletes a row with its number. In event result- Success/Error.

component_method (23)
This function deletes a column with it’s name, example- In columnName:A. In event result- Success/Error.

component_method (24)
This function is used to get the total number of columns which contains data in sheet.

component_method (25)
This function is used to find a value in sheet. In Event get list of two items, first is column name and second is row number.

component_method (26)
This function is used to find and replace value/values, example- In oldValue: existing value of sheet, In newValue: the value to be replaced, In range: A1:G10 OR set empty text box for entire sheet find and replace. It shall replace the old value with new one wherever it finds.

component_method (27)
This function is used to store entire sheet in internal cache of device for offline use.

component_method (28)
This function is used to get offline data which is stored in device’s internal memory. It’s event shall parse whole sheet in list format. If used prior to ‘SyncDataAndStoreInCache’ shall result in error.

component_method (29)
This function wipes out all entried of default sheet.

component_method (30)
This function deletes the sheet by sheetName.

component_method (31)
This function is used to query the records for DefaultSheet, example- In inColumns:use first row values (title1,titl2,title3…), In forColumn:title5, keyword:Mango, In isIgnoreCase:true/fasle, In condition:Contains/Equalts etc.

component_method (32)
This function is attached to Image Component for showing image from string. It’s event triggers when function accomplishes.

component_method (33)
This function is used to convert the image file into string for hosting to spreadsheet. Used within ‘ImagePicked’ event.

component_method (34)
This function is used to pick an image from device’s gallery or file manager.

:calling:About Testing: This extension works in all android devices, we have tested this extension from Android Version:7 to latest, you can test it by yourself with AIA attached in this post.

Extension Size: 30 Kb full featured (with image compression & hosting)
Extension Size: 23 Kb plain (without image compression & hosting)

AIA File For Testing In Kodular Companion:
UltimateSpreadsheetExtension.aia (58.4 KB)
(Both extensions imported in this AIA)

Watch this video to learn How To Deploy Apps Script:

Test the extensions with this spreadsheet which has Apps Script deployed,
Testing Spreadsheet Url: Database For Testing The Extension - Google Sheets

:package:This Purchase Includes Pack Of 2 Extensions + Apps Script

Price: $15

:truck:Extension Delivery On Provided Builder Email Within 48 Hours

Test Yourself & Purchase After 100% Satisfaction-

:point_right: Purchase Here

With Warm Regards
Bharat Technologies

4 Likes