创建html表并让表头跨越多个列

时间:2015-07-22 14:32:17

标签: html vba

我正在使用outlook从excel发送电子邮件。对于电子邮件的正文,我正在使用HTML。

我有一张工作正常的桌子。但是我被要求在表格的当前标题上方添加标题。标题称为“Premium /(Discount)”。所以下面的代码就可以了。但是我希望这个标题跨越两列和中心。

我正在使用下面这一行,但它不起作用,为什么?

"<th colspan='2'>Premium /(Discount)</th>


msg = "<table style='font-size: 12pt;'><tr><th>&nbsp</th><th>&nbsp</th><th>&nbsp</th><th>&nbsp</th><th>&nbsp</th><th>&nbsp</th>" & _
    "<th colspan='2'>Premium /(Discount)</th><th>&nbsp</th><th>&nbsp</th><th>&nbsp</th><th>&nbsp</th></tr>" & _
    "<tr><th align='left'>Fund</th><th>&nbsp;</th>" & _
    "<th align='left'>Market Spread %</th><th>&nbsp;</th>" & _
    "<th align='left'>Tolerance</th><th>&nbsp;</th>" & _
    "<th align='left'>Bid %</th><th>&nbsp;</th>" & _
    "<th align='left'>Ask %</th><th>&nbsp;</th>" & _
    "<th align='left'>Tolerance</th><th>&nbsp;</th>" & _
    "<th align='left'>Extra Notes</th><th>&nbsp;</th></tr>"

2 个答案:

答案 0 :(得分:2)

根据您的代码,您的表格总共有14列,因此您的colspan应该是14而不是2

此外,您将其中一些列用作空格:<th>&nbsp;</th>。请注意,您可以通过向<table>添加单元格填充值(以像素为单位)来做得更好,因此您的表格如下所示:http://cssdeck.com/labs/qyh7ytdi

这是应该做的诀窍的代码:

msg = "<table style='font-size: 12pt;' cellpadding='5'>" & _
      "<tr><th colspan='3'></th><th colspan='2'>Premium /(Discount)</th></tr>" & _
      "<tr><th align='left'>Fund</th>" & _
      "<th align='left'>Market Spread %</th>" & _
      "<th align='left'>Tolerance</th>" & _
      "<th align='left'>Bid %</th>" & _
      "<th align='left'>Ask %</th>" & _
      "<th align='left'>Tolerance</th>" & _
      "<th align='left'>Extra Notes</th></tr>"

答案 1 :(得分:1)

<html>
<body><table style='font-size: 12pt;'><tr>
    <th></th><th></th><th></th><th colspan='2'>Premium /(Discount)</th><th></th><th></th></tr>
    <tr><th align='left'>Fund</th>
    <th align='left'>Market Spread %</th>
    <th align='left'>Tolerance</th>
    <th align='left'>Bid %</th>
    <th align='left'>Ask %</th>
    <th align='left'>Tolerance</th>
    <th align='left'>Extra Notes</th></tr>
</table>
</body>
</html>

这将有助于“Premium /(Discount)”标题以Bid%和Ask%列标题为中心,无论列的宽度如何。

注意:它不会使整个表格居中。