如何格式化由SQL生成并嵌入邮件的HTML表格
Solution for Styled Email Table
Since email clients have limited support for external stylesheets, we'll use inline CSS to ensure your table renders consistently across most clients. Here's the modified HTML with your requested styling:
<font face="Calibri"> Order Summary at 12:53 <P> <table style="border-collapse: collapse; width: 100%;"> <thead> <tr> <th align="left" style="border: 1px solid #ddd; padding: 8px; background-color: #4CAF50; color: white;">  Order Code</th> <th align="left" style="border: 1px solid #ddd; padding: 8px; background-color: #4CAF50; color: white;">Client Name  </th> <th align="right" style="border: 1px solid #ddd; padding: 8px; background-color: #4CAF50; color: white;">Total Orders  </th> <th align="right" style="border: 1px solid #ddd; padding: 8px; background-color: #4CAF50; color: white;">Orders Shipped  </th> <th align="right" style="border: 1px solid #ddd; padding: 8px; background-color: #ff9800; color: white;">Exceptions:  </th> <th align="center" style="border: 1px solid #ddd; padding: 8px; background-color: #ff9800; color: white;">A</th> <th align="center" style="border: 1px solid #ddd; padding: 8px; background-color: #ff9800; color: white;">B</th> <th align="center" style="border: 1px solid #ddd; padding: 8px; background-color: #ff9800; color: white;">C</th> <th align="center" style="border: 1px solid #ddd; padding: 8px; background-color: #ff9800; color: white;">D</th> <th align="center" style="border: 1px solid #ddd; padding: 8px; background-color: #ff9800; color: white;">E</th> <th align="center" style="border: 1px solid #ddd; padding: 8px; background-color: #ff9800; color: white;">F</th> <th align="center" style="border: 1px solid #ddd; padding: 8px; background-color: #ff9800; color: white;">G</th> </tr> </thead> <tbody> <tr> <td align="left" style="border: 1px solid #ddd; padding: 8px;">  A133D </td> <td align="left" style="border: 1px solid #ddd; padding: 8px;"> Tesco  </td> <td align="right" style="border: 1px solid #ddd; padding: 8px;"> 3  </td> <td align="right" style="border: 1px solid #ddd; padding: 8px;"> 0  </td> <td align="right" style="border: 1px solid #ddd; padding: 8px;">   </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> </tr> <tr> <td align="left" style="border: 1px solid #ddd; padding: 8px;">  A134D </td> <td align="left" style="border: 1px solid #ddd; padding: 8px;"> Asda  </td> <td align="right" style="border: 1px solid #ddd; padding: 8px;"> 2  </td> <td align="right" style="border: 1px solid #ddd; padding: 8px;"> 0  </td> <td align="right" style="border: 1px solid #ddd; padding: 8px;">   </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> </tr> <tr> <td align="left" style="border: 1px solid #ddd; padding: 8px;">  A135D </td> <td align="left" style="border: 1px solid #ddd; padding: 8px;"> Morrisons  </td> <td align="right" style="border: 1px solid #ddd; padding: 8px;"> 1  </td> <td align="right" style="border: 1px solid #ddd; padding: 8px;"> 0  </td> <td align="right" style="border: 1px solid #ddd; padding: 8px;">   </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> <td align="center" style="border: 1px solid #ddd; padding: 8px;">  0  </td> </tr> </tbody> </table> </font>
Key Changes Made:
- Grid Borders: Added
border: 1px solid #dddto all<th>and<td>elements, plusborder-collapse: collapseon the table to remove double borders and create a clean grid. - Header Color Differentiation:
- First 4 header cells use a muted green background (
#4CAF50) with white text for clear contrast. - Exception columns (from "Exceptions:" onwards) use an orange background (
#ff9800) to visually separate them from core order metrics.
- First 4 header cells use a muted green background (
- Improved Readability: Added
padding: 8pxto all cells to prevent content from feeling cramped. - Email-Friendly Styles: Used inline styles exclusively, as most email clients don’t support external or embedded stylesheets reliably.
If you’d prefer a single header color instead of two, just replace the orange background-color value with the green one in all exception column <th> elements.
内容的提问来源于stack exchange,提问作者Geoff Griswald
相关产品推荐
相关产品推荐

