I am building a Logic App to deal with Call Before You Dig email replies we receive. The first email is a confirmation email and it includes a table indicating which utility providers have been notified. I would like to add the contents of that table to an excel spreadsheet and add our own reference number in the process. I found a possible solution in this answer which was taken from John Dyer's Blog.
var data = []; // first row needs to be headers var headers = []; for (var i=0; i<table.rows[0].cells.length; i++) { headers[i] = table.rows[0].cells[i].innerHTML.toLowerCase().replace(/ /gi,''); } // go through cells for (var i=1; i<table.rows.length; i++) { var tableRow = table.rows[i]; var rowData = {}; for (var j=0; j<tableRow.cells.length; j++) { rowData[ headers[j] ] = tableRow.cells[j].innerHTML; } data.push(rowData); } return data; } I tried to use this code in a Azure Function but it was getting to complicated for me when it made me download VS. I could not find a way to just add the code in the portal. I installed VS but it started to get beyond me very quickly.
I found an online converter and used it to convert the code into C++ so I could maybe use it in a .net function.
#include <stdio.h> int main() { printf("function tableToJson(table) { var data = []; // first row needs to be headers var headers = []; for (var i=0; i<table.rows[0].cells.length; i++) { headers[i] = table.rows[0].cells[i].innerHTML.toLowerCase().replace(/ /gi,''); } // go through cells for (var i=1; i<table.rows.length; i++) { var tableRow = table.rows[i]; var rowData = {}; for (var j=0; j<tableRow.cells.length; j++) { rowData[ headers[j] ] = tableRow.cells[j].innerHTML; } data.push(rowData); } return data; }\n"); return 0; } I have used two compose actions to trim the mails content down to just the table in question:
<table class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0" width="100%" style="width:100.0%; border-collapse:collapse; border:none"> <tbody> <tr> <td colspan="3" valign="top" style="border:solid gray 1.0pt; background:#9CCC6B; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal"> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black">MEMBERS NOTIFIED: The following owners of underground infrastructure in the area of your excavation site have been notified.</span> </b> </p> </td> </tr> <tr> <td width="50%" valign="top" style="width:50.0%; border-top:none; border-left:solid gray 1.0pt; border-bottom:solid gray 1.0pt; border-right:none; background:#9CCC6B; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black">Member name</span> </b> </p> </td> <td width="25%" valign="top" style="width:25.0%; border-top:none; border-left:solid gray 1.0pt; border-bottom:solid gray 1.0pt; border-right:none; background:#9CCC6B; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black">Station Code</span> </b> </p> </td> <td width="25%" valign="top" style="width:25.0%; border:solid gray 1.0pt; border-top:none; background:#9CCC6B; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black">Initial Status</span> </b> </p> </td> </tr> <tr> <td valign="top" style="border:none; border-left:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">G-TEL FOR ENBRIDGE GAS (LEGACY UNION GAS) (ENOW01)</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> <td valign="top" style="border:none; border-left:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">ENOW01</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> <td valign="top" style="border-top:none; border-left:solid gray 1.0pt; border-bottom:none; border-right:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">Notification sent</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> </tr> <tr> <td valign="top" style="border:none; border-left:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">CITY OF STRATFORD (STRATWS01)</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> <td valign="top" style="border:none; border-left:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">STRATWS01</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> <td valign="top" style="border-top:none; border-left:solid gray 1.0pt; border-bottom:none; border-right:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">Notification sent</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> </tr> <tr> <td valign="top" style="border:none; border-left:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">FESTIVAL HYDRO (LOCAL HYDRO) (FESTH01)</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> <td valign="top" style="border:none; border-left:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">FESTH01</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> <td valign="top" style="border-top:none; border-left:solid gray 1.0pt; border-bottom:none; border-right:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">Notification sent</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> </tr> <tr> <td valign="top" style="border:none; border-left:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">WIGHTMAN TELECOM - FIBRE - LIMITED (WT01)</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> <td valign="top" style="border:none; border-left:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">WT01</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> <td valign="top" style="border-top:none; border-left:solid gray 1.0pt; border-bottom:none; border-right:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">Notification sent</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> </tr> <tr> <td valign="top" style="border:none; border-left:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">CLI FOR ROGERS (ROGWAT01)</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> <td valign="top" style="border:none; border-left:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">ROGWAT01</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> <td valign="top" style="border-top:none; border-left:solid gray 1.0pt; border-bottom:none; border-right:solid gray 1.0pt; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">Cleared</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> </tr> <tr> <td valign="top" style="border-top:none; border-left:solid gray 1.0pt; border-bottom:solid gray 1.0pt; border-right:none; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">G-TEL FOR BELL CANADA (BCOW01)</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> <td valign="top" style="border-top:none; border-left:solid gray 1.0pt; border-bottom:solid gray 1.0pt; border-right:none; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">BCOW01</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> <td valign="top" style="border:solid gray 1.0pt; border-top:none; padding:3.75pt .75pt 3.75pt 3.75pt"> <p class="MsoNormal" align="center" style="text-align:center"> <span class="value"> <span style="font-size:9.0pt; font-family:"Arial",sans-serif">Notification sent</span> </span> <b> <span style="font-size:9.0pt; font-family:"Arial",sans-serif; color:black"></span> </b> </p> </td> </tr> </tbody> </table> This HTML becomes the input to Azure Function action and the Function I created using the C++ code that was output by the conversion and referenced above.
I am getting an Internal Server Error 500 on the output.
I am hoping someone can point me in the right direction to solve this. I have obviously done something wrong!

