First of all, thank you for all the hard works to make this happen!
I tested and working fine in general. One observation I found could be valuable to share with you and community here is ‘marge cells’ on excel template not working on the final output.
For example, to generate the ‘list’ (Table) using list/select expressions on the template body, the single line of the row of the table contain the expression. To design such table, user may want to get the broader width, so they may ‘marge’ adjacent cells to combine together.
This end up with output looking like this.
Very first row maintains the marge as designed on the template, but the subsequent rows does not.
So conclusion and lesson learn from here should be 'Don’t marge adjacent cells within list/table expression on the template’, as it will not generate the expected results while the workflow itself is run-able.
Secondly, the deal with ‘image’ type of columns.
I (assume many of other users as well) may need to show the image on the excel output rather than displaying URL path for the image type column.
Excel does not have native function or capability like GoogleSheet to display actual image being retrieved from the URL to the image. (Google does have image() expression to show URL image) To achieve that, we may need to write Excel VBA which is not perfectly ideal solution for non-coder.
To get the similar result, ie. to get the output of workflow in either Excel or Google Sheet form, I run following workflow which does not involve any coding apart from involving Zapier.
First to generate new workflow using excel template. Apply action to send the output excel file to Gmail. For the excel expression, add ‘function’ which does not work on excel, but works on GoogleSheet.
Expression to be constructed like this. See the document for this topics.
=IMAGE(CONCATENATE(“https://www.appsheet.com/template/gettablefileurl?appName=”, ENCODEURL(" AppName-Account# “), “&tableName=”, ENCODEURL” TableName "), “&fileName=”, ENCODEURL(+ ImageColumnCell )))
This is sample expression
=IMAGE(CONCATENATE(“https://www.appsheet.com/template/gettablefileurl?appName=”, ENCODEURL(“Nicom_MOL_CoilPorter_App-539559”), “&tableName=”, ENCODEURL(“vanning report”), “&fileName=”, ENCODEURL(+A15)))
In this sample, the ‘A15’ cell contains the relative path for image which is generated by the workflow. Within this expression, I anchored to refer to this cell dynamically.
Next. Set up new ZAP, first event to trigger the flow. New email to gmail with the attachment. Then set the action to save the attachment to Google drive once gmail account receive new email.
The last action is to send email with body including the shared link to the saved file (excel file saved in google drive)
When the appsheet action is triggered, the email is send with attachment to gmail account. Once gmail receive this, it will trigger the ZAP and send email back to this named users. This email contain the body with the link to saved file.
By clicking the hyperlink, user will be prompted to new browser tab and show the google sheet. Actually we are seeing the excel workflow output, but in the form of googlesheet. The image files are displayed within the cell as demanded.
See the screenshot to see how the final output looks like.
User can keep working on this googlesheet (excel file opened as google spreadsheet) to working further (edit the format etc.)
I hope Appsheet would make this story far simpler, by introducing new features to display the image on the excel template in a native way.