Hi , @Evil_Zoidberg
According to your description, you want to generate the Html from your collection.
I test it in my side, here are the steps you can refer to:
(1) I use the ClearCollect() function to create the test table in Collection in Power Apps:
ClearCollect(Data, {'Part ID' :1 , Project:"Project 1",'Approval Date':"2 days ago"}, {'Part ID' :2 , Project:"Project 2",'Approval Date':"3 days ago"},{'Part ID' :3 , Project:"Project 1",'Approval Date':"8 days ago"},{'Part ID' :4 , Project:"Project 1",'Approval Date':"4 days ago"},{'Part ID' :5 , Project:"Project 3",'Approval Date':"9 days ago"})

(2)We can use this code to generate the Table:
//Filter the Data within one week
Set(FilterData, Filter( Data , Value(Match('Approval Date', "(?<days>\d+)").days ) <=7) );
//Change the Table to conveniently generate the Html String
Set(HtmlData ,AddColumns( AddColumns( Distinct( FilterData,Project ) As DisProject,"TableData", Filter(FilterData,Project=DisProject.Value) ) ,
"Row",Concat( ForAll(ThisRecord.TableData , "<tr><td>"&'Part ID' &"</td><td>"&'Approval Date' &"</td></tr>" ) ,Value) ) );
Set(Htmltext, "<!DOCTYPE html>
<html>
<head>
<style>
table {
font-family: arial, sans-serif;
width: 100%;
border: 1px solid black; border-collapse:collapse;
}
td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
</style>
</head>
<body>
" & Concat( ForAll(HtmlData , "<h1>" & Value & "</h1><br><table border='1'>
<tr>
<th>Part ID</th>
<th>Approval date</th>
</tr> " &Row & " </table>"
) ,Value)
&"</body>
</html>" )
You can change the css format in your need and test this code .
The result is as follows:

Best Regards,
Yueyun Zhang