发送邮件时直接以附件的形式附上一个excel表格没什么问题,用poi包里的函数和类就可以操作excel表格了,但是直接画的时候就比较复杂,需要类似于写html文件一样写出来。

StringBuilder content = new StringBuilder("<html><head></head><body>");
        content.append("<table border=\"1\" style=\"width:1000px; height:150px;border:solid 1px #E8F2F9;font-size=14px;font-size:18px;\">");
        content.append("<tr style=\"background-color: #428BCA; color:#ffffff\"><td rowspan=\"3\">交易时间</td>" +
                "<td colspan=\"4\">实名认证</td>");
        content.append("<tr>" +
                "<td colspan=\"2\">支付中心</td>" +
                "<td colspan=\"2\">业务线</td>" +
                "</tr>");
        content.append("<tr><td>笔数</td><td>金额</td><td>笔数</td><td>金额</td></tr>");
        content.append("<tr>" +
                "<td><span>20201118</span></td>" +
                "<td><span>0</span></td>" +
                "<td><span>0.00</span></td>" +
                "<td><span>0</span></td>" +
                "<td><span>0.00</span></td>" +
                "</tr>");
        content.append("</table>");
        content.append("<h3>对账无误</h3>");
        content.append("</body></html>");

把这些写在邮件正文,发出去的效果如下:

java 发邮件 附件 java发邮件内容含表格_html


rowspan:指的是这一个单元格占得行数

colspan:指的是这一个单元格占得列数

每一行的内容是以<tr></tr>包围,每一个单元格的内容被<td></td>包围

加上<span></span>表示这个单元格就只占一行一列,

整个大表格内容及格式是以<table></table>包围的,

<head></head>

这里边放的是表格的标题,可以省略不写,这对标签也可以不要,

<h3></h3>

这里边是放的对于表格的描述文字,这对标签也可以不要。
最简单的方法就是,找一个正文带表格的邮件,然后右键查看源就能看到表格的构建代码了。