在电子邮件中嵌入 HTML 表格

Posted

技术标签:

【中文标题】在电子邮件中嵌入 HTML 表格【英文标题】:Embed HTML table in email 【发布时间】:2011-09-01 04:38:33 【问题描述】:

是否可以将表格(以 html 编码)作为电子邮件正文发送,以便收件人能够查看表格(已解析并显示)。

例如,我希望能够将其作为电子邮件的正文发送:

<html>
    <table>
        <tr> 
            <td> col1 </td> 
            <td> col2 </td> 
        </tr> 
    </table> 
</html>

以便收件人看到col1 col2

我在某些地方读到这是不可能的,我必须使用电子邮件服务提供的表格创建器,但我想确认一下是否可能.

【问题讨论】:

有可能。你用什么发送电子邮件? “我必须使用电子邮件服务提供的‘表格创建者’”听起来有人渴望出售。您可以使用 HTML,但如果客户端不支持它,您需要替代文本。您如何执行此操作取决于您用于发送电子邮件的内容。 我正在使用 MS Outlook 发送电子邮件。 【参考方案1】:

您可以发送一封电子邮件,其中包含table,其中包含数据。只需确保将其样式化为“包含数据的表格”即可。以此为例。

如果您正在构建电子邮件。

<html>
<table  style="border:1px solid #333">
  <tr>
    <td align="center">head</td>
  </tr>
  <tr>
    <td align="center">
      body 
      <table align="center"  border="0" cellspacing="0" cellpadding="0" style="border:1px solid #ccc;">
        <tr>
          <td> data </td>
          <td> info </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</html>

【讨论】:

“只要确保将其设置为“包含数据的表格”即可。”我不太清楚你的意思。 我想我误解了你的问题。您是在问是否可以通过电子邮件发送表格? - 我以为你在问是否可以在电子邮件中放置表格 - 基于表格。【参考方案2】:

这取决于收件人的电子邮件客户端。有些以 HTML 显示,有些只显示纯文本。

【讨论】:

哦,那么最好的解决方案是基本上只创建该表的 HTML 文档并将其作为附件发送? 这是一个可行的解决方案。然后他们可以用他们选择的任何程序打开它。 哦,好的。我希望可以将表格嵌入到电子邮件中,因为它一目了然。【参考方案3】:

当您在c# 字符串中嵌入HTML 时,您不能直接使用HTMLBody 标记,因为它已经显示在HTML 页面中。下面是一个简单的表格格式。

        body += "<table align ='center'>"
        
        body += "<tr>"
        body += "<td align = 'right' > Name :  </td>"
        body += "<td >" + Name + "</td>"
        body += "</tr>"
        body += "<tr>"
        body += "<td align = 'right' > Application ID :</td>"
        body += "<td  >" + ApplicationID + "</td>"
        body += "</tr>"
        body += "<tr>"
        body += "<td align = 'right' > Passport No :</td>"
        body += "<td >" + PassportNo + " </td>"
        body += "</tr>"
        body += "<tr>"
        body += "<td align = 'right' > Voucher No. :</td>"
        body += "<td >" + VoucherNo + "</td>"
        body += "</tr>"
        body += "<tr>"
        body += "<td align = 'right' > Date :  </td>"
        body += "<td >" + PDate + "</td>"
        body += "</tr>"
        body += "</table><br>"
       

你也可以像下面那样做样式

例子

body+="<td style='padding:10px; height:20px; width=200px'>Hello World!</td>"

【讨论】:

【参考方案4】:

您可以在 HTML 中创建表格,在浏览器中打开它并将其复制并粘贴到 Outlook 中(基于您在 cmets 中提供的额外信息)

Outlook 将理解您的 HTML,并以与您粘贴的格式相同的格式提供。

如果客户端使用纯文本电子邮件(现在不太可能 - 大多数智能手机都在解析 HTML 电子邮件),那么它的显示方式类似于:

Header| Header 2 | Header 3
Test  | test     |  Test
Test  | test     |  Test
Test  | test     |  Test

没有任何样式。

【讨论】:

【参考方案5】:

几年前我发现使用 Thunderbird 时可以在邮件正文中插入表格。从那以后,我改用 mutt。所以,出于好奇,我通过在一个简单的乳胶表上使用 latex2html 在 html 中创建了一个表。然后我打开 mutt 编辑器创建一封电子邮件,并将 html 代码复制并粘贴到 mutt 编辑器中,然后关闭它以进入 mutt 撰写菜单。在发送电子邮件之前,我使用Ctrl-t 编辑内容类型并将其从“text/plain”更改为“text/html”。发送电子邮件并在浏览器中以 gmail 格式打开它后,表格的显示与我想要的完全一样。

因此,总而言之,可以将 html 表格粘贴到 mutt 编辑器(在我的例子中是 vim)中,然后在发送之前更改内容类型。

【讨论】:

以上是关于在电子邮件中嵌入 HTML 表格的主要内容,如果未能解决你的问题,请参考以下文章

在 Thunderbird 中使用 Content-ID 和 cid 嵌入电子邮件图像

将图像嵌入到 Excel 电子表格 - VBA

有啥方法可以将电子表格嵌入到 Android 应用程序中?

MS Access 2003 - Access 表单上的嵌入式 Excel 电子表格

使用电子表格插入图片,如何使图片刚好填满整个单元格,而不是浮在上面

在 html 电子邮件中嵌入图像