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 效果
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样式效果:
插件发送邮件效果:
Python 调用自定义方法生成Html表格,适用于插件发送邮件
如果是VS C# 好像复制粘贴会自动格式格式化,Python 需要自己重新拼接,重点是字符串之间""的拼接,如果要插入变量,切记不可使用""" "...
点击下载文档
本文2024-09-16 18:27:18发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-22249.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章