Python 调用自定义方法生成Html表格,适用于插件发送邮件

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

Python 调用自定义方法生成Html表格,适用于插件发送邮件

如果是VS C# 好像复制粘贴会自动格式格式化,Python 需要自己重新拼接,重点是字符串之间""的拼接,如果要插入变量,切记不可使用""" """多行文本!


Python 调用生成示例代码:




def BarItemClick(e):

    if e.BarItemKey == "tbSplitSave":#保存按钮触发
        Supplier=this.Model.GetValue("FSupplierId",0)["Name"];#供应商名称
        HtmlResult=HtmlMyTable(Supplier)#调用自定义方法,生成Html表格数据
        this.View.ShowMessage(HtmlResult)#显示生成Html表格数据
def HtmlMyTable(e):#自定义方法   
        htmlText = "<div id="+'"mailContentContainer"' +"class="+'"qmbox"'+ "style="+'"font-size:14px;padding:0;height:auto;min-height:auto;Verdana;position: relative;zoom:1;word-wrap: break-word;white-space: normal;"' +"><style type="+'"text/css"'+">"+".qmbox table{text-align:center;}</style> <table style="+'"text-align:left;><tr><td><p><font color="'+ "size="+'"3"'+ "face="+'"Verdana"'+"></table>致:"+ str(e) + "<font></font><p></p>"
        htmlText =htmlText + "<p style="+'"margin-left:30px;"'"><font size="+'"2"'+" face="+'"Verdana"'+">您好,这封邮件是我司的采购订单,详情请查阅附件,谢谢!</font></p>"
        htmlText =htmlText +"<font color="+'" #d5d5d5"'+"></font><table border="+'"1"'+" style="+'"border:0px solid #d5d5d5;border-collapse:collapse;border-spacing:0;margin-left:25px;margin-top:20px;width:1200.0000pt;margin-left:12.1500pt;"'+">"
        htmlText =htmlText +"<tbody><tr style="+'"height:25px;background-color: rgb(219, 240, 251);"'+">"
        htmlText =htmlText +  "<th style="+'"width:50px;"'+">序号</th>"
        htmlText =htmlText +  "<th style="+'"width:100px;"'+">单据编号</th>"
        htmlText =htmlText +  "<th style="+'"width:80px;"'+">物料代码</th>"
        htmlText =htmlText +  "<th style="+'"width:100px;"'+">物料名称</th>"
        htmlText =htmlText +  "<th style="+'"width:400px;"'+">规格型号</th>"
        htmlText =htmlText +  "<th style="+'"width:50px;"'+">计量单位</th>"
        htmlText =htmlText +  "<th style="+'"width:80px;"'+">采购数量</th>"
        htmlText =htmlText +  "<th style="+'"width:80px;"'+">交货日期</th></tr><tr></tr><tr>"
        rows = this.Model.GetEntryRowCount("FPOOrderEntry")  # 获取明细单据体的总行数
        i = 0;
        for i in range(0,rows):#循环获取相关字段数据,拼装Html
            ID = i;
           
            PO = this.Model.GetValue("FBillNo"); #单据编号
            FM = this.Model.GetValue("FMaterialId",i)["Number"]; #物料编码
            FM1 = this.Model.GetValue("FMaterialId",i)["Name"]; #物料编名称
            FM2 = this.Model.GetValue("FMaterialId",i)["Specification"] #物料规格型号
            Unit = this.Model.GetValue("FPriceUnitId",i)["Number"] #计量单位
            FQty = this.Model.GetValue("FQty",i);#采购数量
            FD =  this.Model.GetValue("FDeliveryDate",i);#交货日期
            htmlTd="<tr><td>"+str(ID)+"</td><td>"+str(PO)+"</td><td>"+str(FM)+"</td><td>"+str(FM1)+"</td><td Style="+'"font-size: 10px;text-align: left;"'+">"+str(FM2)+"</font></td><td>"+str(Unit)+"</td><td>"+str(FQty).replace("000000","")+"</td><td>"+str(FD).replace(" 00:00:00","")+"</td></tr>"
            htmlText =htmlText + htmlTd;
        endText = "</tbody></table><font color="+'"#868686"'+"><p>竭诚为您服务,期待您的回复!</p></font></div>"
        htmlText =htmlText + endText
        return htmlText;#返回表格
       

 

#Python 效果



image.webp 

Html 表格代码       



<div id="mailContentContainer"class="qmbox"style="font-size:14px;padding:0;height:auto;min-height:auto;Verdana;position: relative;zoom:1;word-wrap: break-word;white-space: normal;">

    <style type="text/css">.qmbox table{text-align:center;}</style>
    <table style="text-align:left;><tr><td><p><font color="size="3"face="Verdana"></table>致:深圳XXXX有限公司<font></font><p></p>
        <p style="margin-left:30px;"><font size="2" face="Verdana">您好,这封邮件是我司的订单,详情请查阅附件,谢谢!</font></p><font color=" #d5d5d5"></font>
        <table border="1" style="border:0px solid #d5d5d5;border-collapse:collapse;border-spacing:0;margin-left:25px;margin-top:20px;width:1200.0000pt;margin-left:12.1500pt;">
            <tbody><tr style="height:25px;background-color: rgb(219, 240, 251);">
                <th style="width:50px;">序号</th>
                <th style="width:100px;">编号单据</th>
                <th style="width:80px;">物料代码</th>
                <th style="width:100px;">物料名称</th>
                <th style="width:400px;">规格型号</th>
                <th style="width:50px;">计量单位</th>
                <th style="width:80px;">采购数量</th>
                <th style="width:80px;">交货日期</th>
            </tr><tr></tr>
                <tr>
                    <td>0</td>
                    <td>Sony24-SC025</td>
                    <td>3.01.091.Sony002</td>
                    <td>投影仪-L</td>
                    <td Style="font-size: 10px;text-align: left;">投影仪-L,Sony 白色,中文,1080P,4Ω3W腔体喇叭*2,欧规电源线,智能机,Android9.0,ROHS</td>
                    <td>Pcs</td>
                    <td>20.0000</td>
                    <td>2024-04-18</td>
                </tr>
            </tbody>
        </table><font color="#868686"><p>竭诚为您服务,期待您的回复!</p></font>

</div>  



Html样式效果:


image.webp


插件发送邮件效果:


image.webp


文件.zip

Python 调用自定义方法生成Html表格,适用于插件发送邮件

如果是VS C# 好像复制粘贴会自动格式格式化,Python 需要自己重新拼接,重点是字符串之间""的拼接,如果要插入变量,切记不可使用""" "...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息