10-20-2022 20:03 PM - last edited 10-20-2022 20:07 PM
Quickly & Easily Convert Various CSVs to New Excel Tables
Takes in most types of CSV data, dynamically identifies the header names, and creates an Excel table in a new or existing workbook.
No premium, 3rd party, or Office Script actions required. Only standard connectors.
(Works on comma-separated files where any items with in-data commas are surrounded in double quotes “String1, String2” but comma separated arrays with double quotes inside an item may also cause issues.)
For example, here is a CSV I downloaded from a random SharePoint list:
And I did not create any template doc table, & I did not adjust any names. I just selected the CSV file in my OneDrive, then ran the flow to get this output...
(But if you’re just downloading this template, then you will need to change the “Create table” action document library reference to your OneDrive folder instead of the id that is in there by default)
If needed, you should also be able to dynamically change the destination Excel to an existing workbook & worksheet based on other values in your flow. And the CSV data can automatically come from any preceding actions.
If you use something other than the default OneDrive action to get your CSV data, then add the CSV output to the "CSV_Data" field in the "Compose CSV data + Set-up" action.
If your CSV header row with column names is not the 1st row in your CSV, make sure to adjust the "ColumnNamesRow" value in the "Compose CSV data + Set-up" action to match the correct CSV row number.
This template is really just a combination of...
-The CSV to Dataset template with manual column mapping: https://powerusers.microsoft.com/t5/Power-Automate-Cookbook/CSV-to-Dataset/td-p/1508191
-@RezaDorrani's video on exporting data to an Excel table: https://youtu.be/Kupz71dWYyY
-@Paulie78's video on fast exporting to an Excel table: https://youtu.be/AA-D4lgjR3o
Please 1st try downloading the below zip file & importing the whole flow as described in this post: https://powerusers.microsoft.com/t5/Power-Automate-Cookbook/CSV-To-New-Excel-Table/m-p/1891765/highl...
If the standard zip file import method does not work for you, then you can try an alternative Power Apps Solution import method here: Re: CSV To New Excel Table - Page 15 - Power Platform Community (microsoft.com)
Or an alternative clipboard copy & paste import method from these 3 posts
https://powerusers.microsoft.com/t5/Power-Automate-Cookbook/CSV-To-New-Excel-Table/m-p/1841481/highl...
https://powerusers.microsoft.com/t5/Power-Automate-Cookbook/CSV-To-New-Excel-Table/m-p/1841499/highl...
https://powerusers.microsoft.com/t5/Power-Automate-Cookbook/CSV-To-New-Excel-Table/m-p/1841504/highl...
https://powerusers.microsoft.com/t5/Power-Automate-Cookbook/CSV-To-New-Excel-Table/m-p/1843986/highl...
Warning. The Groups HTTP connector with access to the graph API calls used for this template may be removed soon. You can vote to ask for this not to be removed here: https://ideas.powerautomate.com/d365community/idea/d51463df-6f0c-ed11-a81b-6045bd7c3e3f
You can also try using a different premium HTTP action to make that final call, like what Matt does here: https://www.matthewdevaney.com/quickly-add-multiple-rows-to-excel-table-in-power-automate/
Version 1.1 of the template flow does just this & uses the PREMIUM Azure HTTP action.
To set up the Azure HTTP action connection, use https://graph.microsoft.com for the url & for the Resource URI:
Version 1.1SP is set up to get the CSV from SharePoint & transfer the new Excel file & new table to SharePoint at the end of the flow.
Thanks for any feedback!
Version 0.6
This version uses a column header mapping method that does not require listing a Select action line for every potential column. And I added the A1 notation for the 1st 700 columns. So it removes several constraints on the maximum number of columns. The main constraint after this is probably the Change CSV delimiter piece (https://powerusers.microsoft.com/t5/Power-Automate-Cookbook/Change-CSV-Delimiter/td-p/1442954) that is currently set to handle up to 50 columns anywhere in a table that contain in-data commas. So you could technically have 700 columns, and as long as only 50 of those columns are text columns with potential in-data commas, then this would still work.
If your CSVs are smaller, simpler, & you have Office Scripts, then this set-up may be a bit more polished…
https://learn.microsoft.com/en-us/office/dev/scripts/resources/samples/convert-csv
Version 0.8
Used some additional methods from Paulie's video to enable faster & more efficient transmission to new Excel tables with less actions & less set-up. But some may still want to use Version0.6 if they want to send data to a table somewhere other than OneDrive & do not want to deal with changing the Microsoft Graph call.
The dynamic column mapping & speed of this template may be helpful in scenarios where people want to automatically download lots of data from Power BI to a CSV, then convert it to Excel.
Example of Power BI to CSV here:
@takolota You posted the link below. Is it possible to use SharePoint instead of OneDrive for this method? All my team csv files are automatically exported daily from PowerBI to csv to a folder in SharePoint. I have an excel file template that I need the csv files converted to, in order to Add, update, delete content from several SharePoint lists. Would really like to avoid sending the files back and forth from SharePoint to OneDrive. I tried on my own and it's not working. Not sure if it's an error on my part or a limitation. Thanks!
If your CSVs are smaller, simpler, & you have Office Scripts, then this set-up may be a bit more polished…
https://learn.microsoft.com/en-us/office/dev/scripts/resources/samples/convert-csv
Alternative import method...
For this, you'll need to copy the code below to your clipboard. It contains the code for a Power Automate Scope action that contains the entire flow. You can then go to a new action in any flow, go to the "My clipboard" tab of the new action menu and control + v paste it into that tab menu so you can select it to add it to the flow. The extra hurdle with this method is the longer expressions in the Select actions usually get messed up & will be greyed out.
You will need to go to each Select action, copy the expression text listed on the action, remove the expression text, use the map button on the right-side of the action to toggle to the table view & back to the single textbox view, then click in the textbox view to bring up the content menu & expression tab, then paste the expression text you copied back into the expression editor & remove any initial or end characters that do not belong in the expression input like the starting '@' or ending '}'.
But it's also a little different for the "Select Reformat file data, replace in-data commas" action. For that input you will paste the code provided below directly into the single-textbox "Map" input.
You will also need to copy the blank Base64 Excel file into the "Base64BlankExcel" Compose action.
Look to the following 2 comments for code (there's a 60,000 character limit on forum posts).
https://powerusers.microsoft.com/t5/Power-Automate-Cookbook/CSV-To-New-Excel-Table/m-p/1841499/highl...
https://powerusers.microsoft.com/t5/Power-Automate-Cookbook/CSV-To-New-Excel-Table/m-p/1841504/highl...
CSV to Excel Table V0.8 Scope Code to Copy & Paste Into the "My clipboard" Tab of a New Action Menu
{"id":"32185775-ddec-4b01-92cc-1445343fb5dd","brandColor":"#8C3900","connectionReferences":{"shared_office365groups":{"connection":{"id":"/providers/Microsoft.PowerApps/apis/shared_office365groups/connections/shared-office365grou-6b448f0a-690e-4dcc-b18d-e1826734525f"}},"shared_excelonlinebusiness":{"connection":{"id":"/providers/Microsoft.PowerApps/apis/shared_excelonlinebusiness/connections/39f5641011a343e8aac23b8d01bee065"}},"shared_onedriveforbusiness":{"connection":{"id":"/providers/Microsoft.PowerApps/apis/shared_onedriveforbusiness/connections/shared-onedriveforbu-e0cf83c7-49f3-4905-859f-6d60d8e9de23"}}},"connectorDisplayName":"Control","icon":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KIDxwYXRoIGQ9Im0wIDBoMzJ2MzJoLTMyeiIgZmlsbD0iIzhDMzkwMCIvPg0KIDxwYXRoIGQ9Im04IDEwaDE2djEyaC0xNnptMTUgMTF2LTEwaC0xNHYxMHptLTItOHY2aC0xMHYtNnptLTEgNXYtNGgtOHY0eiIgZmlsbD0iI2ZmZiIvPg0KPC9zdmc+DQo=","isTrigger":false,"operationName":"CSV_To_Excel_Table","operationDefinition":{"type":"Scope","actions":{"Get_file_content":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_onedriveforbusiness","operationId":"GetFileContent","apiId":"/providers/Microsoft.PowerApps/apis/shared_onedriveforbusiness"},"parameters":{"id":"/Choose a CSV File.csv","inferContentType":true},"authentication":{"type":"Raw","value":"@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"}},"runAfter":{},"description":"Choose a CSV file from your OneDrive or get the CSV content from any other flow action & insert it in the CSV data + Set-up action in place of this.","metadata":{"operationMetadataId":"369ae3de-7eb1-4ad4-b140-8d6b65808f57","b!CVcYUvLh8EGkvkCsqwCTp7Pqs2dO4IxIl2FLeQnvIk-zJXFeRmKbRIbbO8P0Lkhi.01PCEUDVBFR3SLQ7EYXFBLNGWWFOZY5GUV":"/Book2.csv","b!CVcYUvLh8EGkvkCsqwCTp7Pqs2dO4IxIl2FLeQnvIk-zJXFeRmKbRIbbO8P0Lkhi.01PCEUDVFHHMAFD7ELRBHLYNF6WGPBLRHP":"/Book1.csv","b!CVcYUvLh8EGkvkCsqwCTp7Pqs2dO4IxIl2FLeQnvIk-zJXFeRmKbRIbbO8P0Lkhi.01PCEUDVBAP3MW6TQUVVEZ4Q5QMKH3FBM4":"/2Test1stLineQuotes.csv","b!CVcYUvLh8EGkvkCsqwCTp7Pqs2dO4IxIl2FLeQnvIk-zJXFeRmKbRIbbO8P0Lkhi.01PCEUDVCLEM4KCB5K4NCZUYMERYO2ZFK7":"/Test21stLineQuotes.csv","b!CVcYUvLh8EGkvkCsqwCTp7Pqs2dO4IxIl2FLeQnvIk-zJXFeRmKbRIbbO8P0Lkhi.01PCEUDVBVNOQGDUTLKRBYW7ZZ3D6CPXSR":"/TestError.csv","b!CVcYUvLh8EGkvkCsqwCTp7Pqs2dO4IxIl2FLeQnvIk-zJXFeRmKbRIbbO8P0Lkhi.01PCEUDVCOFCGXRTZ2XZCKUWHMINE2236T":"/TestXLS.xls","b!y2rxipfTvUi7ALZMiyxLa89aQqkbMORMksjFtKI_dfKgJA8V37mjQICJm9mYgy-T.01JWBUU4BORFEBO44XJ5BYGTU5ZVWF32JS":"/Document Reviews.csv"}},"Compose_CSV_data_+_Set-up":{"type":"Compose","inputs":{"CSV_Data":"@{body('Get_file_content')}","NewDelimiter":"||","ColumnNamesRow":1,"HeaderRowsToSkip":1,"FooterRowsToSkip":0,"LineBreak":"@{decodeUriComponent('%0d')}@{decodeUriComponent('%0A')}","CommaQuote":"@{concat(',', '\"')}","QuoteComma":"@{concat('\"', ',')}","AdjustForLeadingOverTrailingCommas":"No","InDataLineBreakToReplace":"@{decodeUriComponent('%0A')}","InDataLineBreakReplacement":";"},"runAfter":{"Get_file_content":["Succeeded"]},"description":"Data, New Delimiter, Column names row# 0 if none, # of headers & footers to skip 0 if none. https://www.tutorialspoint.com/html/html_url_encoding.htm for adjusting Uri expressions to alt LineBreak characters. Trim leading OR trailing commas in values","metadata":{"operationMetadataId":"dfe1a672-4dfd-4816-9e31-6064f8021567"}},"Scope_Avoid_in-data_commas,_cut_headers_and_footers,_map_column_names":{"type":"Scope","actions":{"Scope_Change_CSV_delimiter":{"type":"Scope","actions":{"Select_Reformat_file_data,_replace_in-data_commas":{"type":"Select","inputs":{"from":"@split(trim(\r\nreplace(\r\nconcat(outputs('Compose_CSV_data_+_Set-up')['LineBreak'], replace(replace(replace(replace(replace(replace(outputs('Compose_CSV_data_+_Set-up')['CSV_Data'], ', \"', ',\"'), '\",\"', '#_4#\",,\"#_4#'), ',\",\"', '###\",\"###'), ',\",\"', '###\",\"'), '\",\",', '\",\"###'), ',\",', if(equals(outputs('Compose_CSV_data_+_Set-up')['AdjustForLeadingOverTrailingCommas'], 'No'), '###\",', ',\"###'))), \r\nconcat(outputs('Compose_CSV_data_+_Set-up')['LineBreak'], '\"'), concat(outputs('Compose_CSV_data_+_Set-up')['LineBreak'], ',\"#_5#'))), \r\noutputs('Compose_CSV_data_+_Set-up')['LineBreak'])","select":["@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[0]), '', \r\nreplace(\r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[0], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[0], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[0], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','),\r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[0]), \r\n',#_5#', ''))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[1]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[1], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[1], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[1], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[1]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[1])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[2]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[2], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[2], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[2], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[2]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[2])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[3]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[3], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[3], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[3], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[3]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[3])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[4]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[4], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[4], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[4], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[4]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[4])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[5]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[5], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[5], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[5], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[5]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[5])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[6]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[6], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[6], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[6], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[6]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[6])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[7]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[7], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[7], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[7], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[7]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[7])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[8]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[8], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[8], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[8], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[8]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[8])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[9]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[9], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[9], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[9], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[9]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[9])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[10]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[10], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[10], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[10], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[10]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[10])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[11]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[11], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[11], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[11], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[11]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[11])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[12]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[12], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[12], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[12], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[12]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[12])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[13]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[13], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[13], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[13], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[13]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[13])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[14]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[14], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[14], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[14], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[14]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[14])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[15]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[15], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[15], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[15], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[15]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[15])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[16]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[16], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[16], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[16], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[16]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[16])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[17]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[17], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[17], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[17], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[17]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[17])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[18]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[18], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[18], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[18], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[18]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[18])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[19]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[19], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[19], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[19], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[19]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[19])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[20]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[20], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[20], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[20], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[20]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[20])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[21]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[21], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[21], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[21], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[21]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[21])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[22]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[22], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[22], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[22], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[22]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[22])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[23]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[23], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[23], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[23], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[23]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[23])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[24]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[24], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[24], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[24], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[24]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[24])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[25]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[25], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[25], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[25], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[25]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[25])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[26]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[26], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[26], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[26], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[26]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[26])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[27]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[27], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[27], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[27], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[27]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[27])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[28]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[28], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[28], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[28], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[28]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[28])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[29]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[29], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[29], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[29], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[29]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[29])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[30]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[30], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[30], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[30], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[30]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[30])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[31]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[31], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[31], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[31], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[31]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[31])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[32]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[32], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[32], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[32], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[32]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[32])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[33]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[33], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[33], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[33], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[33]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[33])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[34]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[34], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[34], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[34], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[34]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[34])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[35]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[35], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[35], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[35], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[35]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[35])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[36]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[36], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[36], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[36], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[36]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[36])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[37]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[37], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[37], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[37], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[37]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[37])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[38]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[38], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[38], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[38], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[38]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[38])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[39]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[39], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[39], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[39], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[39]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[39])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[40]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[40], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[40], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[40], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[40]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[40])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[41]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[41], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[41], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[41], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[41]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[41])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[42]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[42], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[42], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[42], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[42]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[42])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[43]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[43], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[43], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[43], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[43]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[43])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[44]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[44], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[44], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[44], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[44]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[44])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[45]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[45], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[45], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[45], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[45]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[45])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[46]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[46], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[46], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[46], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[46]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[46])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[47]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[47], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[47], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[47], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[47]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[47])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[48]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[48], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[48], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[48], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[48]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[48])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[49]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[49], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[49], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[49], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[49]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[49])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[50]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[50], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[50], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[50], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[50]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[50])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[51]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[51], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[51], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[51], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[51]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[51])))","@if(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[52]), '', \r\nif(contains(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[52], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), \r\nconcat(concat(concat(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[52], outputs('Compose_CSV_data_+_Set-up')['CommaQuote'])?[0], ','), replace(join(skip(split(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[52], outputs('Compose_CSV_data_+_Set-up')['CommaQuote']), 1), ',\"'), ',', '###')), ','), \r\nif(empty(split(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[52]), '', \r\nsplit(item(), outputs('Compose_CSV_data_+_Set-up')['QuoteComma'])?[52])))"]},"runAfter":{},"description":"Currently set to handle a file with up to 50 comma-containing columns.","metadata":{"operationMetadataId":"1274d0ab-9a5d-4d1e-8625-e2282832f2d3"}},"Compose_Reformat_back_to_CSV_with_new_delimiter":{"type":"Compose","inputs":"@trim(\r\nreplace(\r\nreplace(\r\nconcat(join(body('Select_Reformat'), outputs('Compose_CSV_data_+_Set-up')['LineBreak']), outputs('Compose_CSV_data_+_Set-up')['LineBreak']), \r\nconcat('\"', outputs('Compose_CSV_data_+_Set-up')['NewDelimiter'], outputs('Compose_CSV_data_+_Set-up')['LineBreak']), outputs('Compose_CSV_data_+_Set-up')['LineBreak']\r\n),\r\nconcat('#_4#', outputs('Compose_CSV_data_+_Set-up')['NewDelimiter'], outputs('Compose_CSV_data_+_Set-up')['NewDelimiter'], '#_4#'),\r\noutputs('Compose_CSV_data_+_Set-up')['NewDelimiter']\r\n)\r\n)","runAfter":{"Select_Reformat":["Succeeded"]},"metadata":{"operationMetadataId":"991ff2ae-90dd-4c8d-8675-d3887cc7866e"}},"Select_Reformat":{"type":"Select","inputs":{"from":"@body('Select_Reformat_file_data,_replace_in-data_commas')","select":"@replace(\r\nreplace(\r\nreplace(\r\nreplace(\r\nreplace(\r\nif(and(contains(join(item(), ''), '['), contains(join(item(), ''), ']')), \r\nreplace(replace(replace(\r\nif(equals(last(join(item(), '')), '\"'), take(join(item(), ''), sub(length(join(item(), '')), 1)), join(item(), '')), '\",,\"', '\"###\"'), '[\"\"', '[\"'), '\"\"]', '\"]'), \r\nif(equals(last(join(item(), '')), '\"'), take(join(item(), ''), sub(length(join(item(), '')), 1)), join(item(), ''))), \r\noutputs('Compose_CSV_data_+_Set-up')['InDataLineBreakToReplace'], outputs('Compose_CSV_data_+_Set-up')['InDataLineBreakReplacement']), \r\n',', outputs('Compose_CSV_data_+_Set-up')['NewDelimiter']), \r\n'###', ','),\r\nconcat(outputs('Compose_CSV_data_+_Set-up')['NewDelimiter'], '\",', outputs('Compose_CSV_data_+_Set-up')['NewDelimiter']), concat(outputs('Compose_CSV_data_+_Set-up')['NewDelimiter'], outputs('Compose_CSV_data_+_Set-up')['NewDelimiter'])),\r\n'\"\"', '\"')"},"runAfter":{"Select_Reformat_file_data,_replace_in-data_commas":["Succeeded"]},"description":"Join to single array, remove blanks, replace in-data new lines with semicolons, & change the delimiter.","metadata":{"operationMetadataId":"fa5d546b-052d-4c5b-acee-bd8927d1e627"}}},"runAfter":{},"description":"Attempt to prevent in-data comma errors. CSV data MUST have quotes around values /w commas. If not, saving as a .txt file may add quotes. Only changes comma delimiters to other delimiters. Set to handle up to 50 columns /w commas.","metadata":{"operationMetadataId":"6dda1a46-5b70-4255-ba70-3bca7ffe168f"}},"Scope_Get_or_generate_column_header_names":{"type":"Scope","actions":{"Compose_Header_Column_Names":{"type":"Compose","inputs":"@if(less(outputs('Compose_CSV_data_+_Set-up')['ColumnNamesRow'], 1), body('SelectGenerateDefaultColumnNames'),\r\nsplit(\r\nsplit(\r\noutputs('Compose_Reformat_back_to_CSV_with_new_delimiter'), \r\noutputs('Compose_CSV_data_+_Set-up')['LineBreak'])?[sub(outputs('Compose_CSV_data_+_Set-up')['ColumnNamesRow'], 1)],\r\noutputs('Compose_CSV_data_+_Set-up')['NewDelimiter']\r\n)\r\n)","runAfter":{"SelectGenerateDefaultColumnNames":["Succeeded"]},"description":"If there is no header row with column names, then set ColumnNamesRow to 0 or -1 in the settings action.","metadata":{"operationMetadataId":"c9781762-5cb7-4381-a276-98c2cff0263a"}},"SelectGenerateDefaultColumnNames":{"type":"Select","inputs":{"from":"@range(0, length(split(outputs('DataLines')[0], outputs('Compose_CSV_data_+_Set-up')['NewDelimiter'])))","select":"@concat('Column', item())"},"runAfter":{},"description":"Default column names to use if there is not header row.","metadata":{"operationMetadataId":"89f193c4-a3ef-4822-90a6-792dd90ea895"}}},"runAfter":{"DataLines":["Succeeded"]},"metadata":{"operationMetadataId":"96d6ae28-5592-4972-8cec-87031f44ac71"}},"DataLines":{"type":"Compose","inputs":"@take(skip(split(outputs('Compose_Reformat_back_to_CSV_with_new_delimiter'), outputs('Compose_CSV_data_+_Set-up')['LineBreak']), outputs('Compose_CSV_data_+_Set-up')['HeaderRowsToSkip']), sub(length(skip(split(outputs('Compose_Reformat_back_to_CSV_with_new_delimiter'), outputs('Compose_CSV_data_+_Set-up')['LineBreak']), outputs('Compose_CSV_data_+_Set-up')['HeaderRowsToSkip'])), outputs('Compose_CSV_data_+_Set-up')['FooterRowsToSkip']))","runAfter":{"Scope_Change_CSV_delimiter":["Succeeded"]},"metadata":{"operationMetadataId":"19d52bd9-578d-4169-8a4d-f6f3a8c629e0"}}},"runAfter":{"Compose_CSV_data_+_Set-up":["Succeeded"]},"description":"Enter CSV data, header row, skip header/footer, & delimiter settings in the CSV data + Set-up action. Should automatically map column names from the row identified in the ColumnNamesRow input.","metadata":{"operationMetadataId":"b6537182-4fa1-46a6-9256-53a9537de160"}},"Scope_Create_new_blank_Excel_file":{"type":"Scope","actions":{"Base64BlankExcel":{"type":"Compose","inputs":"","runAfter":{},"metadata":{"operationMetadataId":"6a483b01-84bd-4ee9-85a6-952f989a534d"}},"Create_file_Blank_Excel":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_onedriveforbusiness","operationId":"CreateFile","apiId":"/providers/Microsoft.PowerApps/apis/shared_onedriveforbusiness"},"parameters":{"folderPath":"/","name":"Workbook@{utcnow('yyyyMMddHHmmss')}.xlsx","body":"@base64ToBinary(outputs('Base64BlankExcel'))"},"authentication":{"type":"Raw","value":"@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"}},"runAfter":{"Base64BlankExcel":["Succeeded"]},"runtimeConfiguration":{"contentTransfer":{"transferMode":"Chunked"}},"metadata":{"operationMetadataId":"89ec3355-9a98-4b3d-a828-410843b37f64"}}},"runAfter":{"Scope_Avoid_in-data_commas,_cut_headers_and_footers,_map_column_names":["Succeeded"]},"description":"Creates a new blank Excel to load everything to. If you want to add a table to an existing file, then you will want to replace the blank file Id with your file Id in \"Get file metadata\".","metadata":{"operationMetadataId":"eb16d9a9-a4d9-4980-bdb7-c80d7f6ddbcc"}},"Get_file_metadata":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_onedriveforbusiness","operationId":"GetFileMetadata","apiId":"/providers/Microsoft.PowerApps/apis/shared_onedriveforbusiness"},"parameters":{"id":"@outputs('Create_file_Blank_Excel')?['body/Id']"},"authentication":{"type":"Raw","value":"@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"}},"runAfter":{"Scope_Create_new_blank_Excel_file":["Succeeded"]},"description":"The file you want to add the table & data to","metadata":{"operationMetadataId":"aeb0442b-6bdb-4164-9e2a-9f07855dc688"}},"SelectReformatCSVToArrayArrayValues":{"type":"Select","inputs":{"from":"@outputs('DataLines')","select":"@split(item(), outputs('Compose_CSV_data_+_Set-up')['NewDelimiter'])"},"runAfter":{"Get_file_metadata":["Succeeded"]},"metadata":{"operationMetadataId":"c03f7ead-e97c-426b-8e9e-3ffb13fe6cab"}},"A1_Notation_Mapping":{"type":"Compose","inputs":"@split('a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,do,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es,et,eu,ev,ew,ex,ey,ez,fa,fb,fc,fd,fe,ff,fg,fh,fi,fj,fk,fl,fm,fn,fo,fp,fq,fr,fs,ft,fu,fv,fw,fx,fy,fz,ga,gb,gc,gd,ge,gf,gg,gh,gi,gj,gk,gl,gm,gn,go,gp,gq,gr,gs,gt,gu,gv,gw,gx,gy,gz,ha,hb,hc,hd,he,hf,hg,hh,hi,hj,hk,hl,hm,hn,ho,hp,hq,hr,hs,ht,hu,hv,hw,hx,hy,hz,ia,ib,ic,id,ie,if,ig,ih,ii,ij,ik,il,im,in,io,ip,iq,ir,is,it,iu,iv,iw,ix,iy,iz,ja,jb,jc,jd,je,jf,jg,jh,ji,jj,jk,jl,jm,jn,jo,jp,jq,jr,js,jt,ju,jv,jw,jx,jy,jz,ka,kb,kc,kd,ke,kf,kg,kh,ki,kj,kk,kl,km,kn,ko,kp,kq,kr,ks,kt,ku,kv,kw,kx,ky,kz,la,lb,lc,ld,le,lf,lg,lh,li,lj,lk,ll,lm,ln,lo,lp,lq,lr,ls,lt,lu,lv,lw,lx,ly,lz,ma,mb,mc,md,me,mf,mg,mh,mi,mj,mk,ml,mm,mn,mo,mp,mq,mr,ms,mt,mu,mv,mw,mx,my,mz,na,nb,nc,nd,ne,nf,ng,nh,ni,nj,nk,nl,nm,nn,no,np,nq,nr,ns,nt,nu,nv,nw,nx,ny,nz,oa,ob,oc,od,oe,of,og,oh,oi,oj,ok,ol,om,on,oo,op,oq,or,os,ot,ou,ov,ow,ox,oy,oz,pa,pb,pc,pd,pe,pf,pg,ph,pi,pj,pk,pl,pm,pn,po,pp,pq,pr,ps,pt,pu,pv,pw,px,py,pz,qa,qb,qc,qd,qe,qf,qg,qh,qi,qj,qk,ql,qm,qn,qo,qp,qq,qr,qs,qt,qu,qv,qw,qx,qy,qz,ra,rb,rc,rd,re,rf,rg,rh,ri,rj,rk,rl,rm,rn,ro,rp,rq,rr,rs,rt,ru,rv,rw,rx,ry,rz,sa,sb,sc,sd,se,sf,sg,sh,si,sj,sk,sl,sm,sn,so,sp,sq,sr,ss,st,su,sv,sw,sx,sy,sz,ta,tb,tc,td,te,tf,tg,th,ti,tj,tk,tl,tm,tn,to,tp,tq,tr,ts,tt,tu,tv,tw,tx,ty,tz,ua,ub,uc,ud,ue,uf,ug,uh,ui,uj,uk,ulum,un,uo,up,uq,ur,us,ut,uu,uv,uw,ux,uy,uz,va,vb,vc,vd,ve,vf,vg,vh,vi,vj,vk,vl,vm,vn,vo,vp,vq,vr,vs,vt,vu,vv,vw,vx,vy,vz,wa,wb,wc,wd,we,wf,wg,wh,wi,wj,wk,wl,wm,wn,wo,wp,wq,wr,ws,wt,wu,wv,ww,wx,wy,wz,xa,xb,xc,xd,xe,xf,xg,xh,xi,xj,xk,xl,xm,xn,xo,xp,xq,xr,xs,xt,xu,xv,xw,xx,xy,xz,ya,yb,yc,yd,ye,yf,yg,yh,yi,yj,yk,yl,ym,yn,yo,yp,yq,yr,ys,yt,yu,yv,yw,yx,yy,yz,za,zb,zc,zd,ze,zf,zg,zh,zi,zj,zk,zl,zm,zn,zo,zp,zq,zr,zs,zt,zu,zv,zw,zx,zy,zz', ',')","runAfter":{"SelectReformatCSVToArrayArrayValues":["Succeeded"]},"description":"Set to handle 700 columns. Add more A1 notation labels to the expression to add more columns.","metadata":{"operationMetadataId":"99685c1d-289e-49c8-aefb-635c4bad8823"}},"Create_table":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_excelonlinebusiness","operationId":"CreateTable","apiId":"/providers/Microsoft.PowerApps/apis/shared_excelonlinebusiness"},"parameters":{"source":"me","drive":"b!y2rxipfTvUi7ALZMiyxLa89aQqkbMORMksjFtKI_dfKgJA8V37mjQICJm9mYgy-T","file":"@outputs('Get_file_metadata')?['body/Path']","table/Range":"Sheet1!$A1:$@{outputs('A1_Notation_Mapping')[sub(length(outputs('Compose_Header_Column_Names')),1)]}1","table/TableName":"Table@{utcnow('yyyyMMddHHmmss')}","table/ColumnsNames":"@join(outputs('Compose_Header_Column_Names'), ',')"},"authentication":{"type":"Raw","value":"@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"}},"runAfter":{"A1_Notation_Mapping":["Succeeded"]},"metadata":{"01JWBUU4AQAKHZIAX5VJDIAW3AMBEYIA5S":"/TestExcel.xlsx","operationMetadataId":"71d65fcb-b748-4e62-8725-c243f0efc59c","tableId":null}},"Send_a_HTTP_request":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_office365groups","operationId":"HttpRequest","apiId":"/providers/Microsoft.PowerApps/apis/shared_office365groups"},"parameters":{"Uri":"https://graph.microsoft.com/v1.0/me/drive/items/@{substring(outputs('Get_file_metadata')?['body/Id'], add(indexOf(outputs('Get_file_metadata')?['body/Id'], '.'),1))}/workbook/tables/@{outputs('Create_table')?['body/title']}/rows/add","Method":"POST","Body":"{\n\"values\":@{body('SelectReformatCSVToArrayArrayValues')}\n}","ContentType":"application/json"},"authentication":{"type":"Raw","value":"@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"}},"runAfter":{"Create_table":["Succeeded"]},"metadata":{"operationMetadataId":"31567eed-7444-4889-a9cc-88f38dff8901"}}},"runAfter":{}}}