{"id":236,"date":"2019-05-08T08:48:45","date_gmt":"2019-05-08T00:48:45","guid":{"rendered":"http:\/\/www.hefeiyu.com\/?p=236"},"modified":"2019-05-08T08:48:45","modified_gmt":"2019-05-08T00:48:45","slug":"tiptop%e8%87%aa%e5%ae%9a%e4%b9%89%e5%8f%91%e9%80%81%e9%82%ae%e4%bb%b6","status":"publish","type":"post","link":"https:\/\/www.hefeiyu.com\/?p=236","title":{"rendered":"tiptop\u81ea\u5b9a\u4e49\u53d1\u9001\u90ae\u4ef6"},"content":{"rendered":"<div class=\"artical-content-bak main-content\">\n<div class=\"con artical-content editor-preview-side\">\n<p>\u5f88\u591a\u516c\u53f8\u90fd\u6709\u8fd9\u6837\u7684\u9700\u6c42\uff0c\u5e0c\u671b\u7cfb\u7edf\u53ef\u4ee5\u5b9a\u65f6\u90ae\u4ef6\u53d1\u9001\u4e00\u4e9b\u7edf\u8ba1\u62a5\u8868\u7ed9\u5230\u76f8\u5173\u4eba\u5458\uff0c\u4ee5\u4fbf\u505a\u6570\u636e\u5206\u6790\uff0c\u6216\u8005\u662f\u5e0c\u671b\u505a\u5355\u65f6\uff0c\u53d1\u9001\u5355\u636e\u5185\u5bb9\u7ed9\u5230\u76f8\u5173\u4eba\u5458\u63d0\u9192\u5ba1\u6838\u548c\u5907\u6848\uff0c\u4e0b\u9762\u5206\u4eab\u4e00\u79cd\u5341\u5206\u7b80\u5355\u65b9\u4fbf\u7684\u5b9e\u73b0\u65b9\u5f0f\uff0cjavamail+4gl+perl\u811a\u672c\u5b9e\u73b0;<br \/>\n1:\u5728aooi999\u914d\u7f6e\u597d\u7cfb\u7edf\u6807\u51c6\u7684javamail \u529f\u80fd\uff0c\u6d4b\u8bd5\u53ef\u4ee5\u6b63\u5e38\u53d1\u9001\u62a5\u8868\u90ae\u4ef6\uff0c\u914d\u7f6e\u65b9\u5f0f\u53ef\u4ee5\u767e\u5ea6<br \/>\n2:\u6dfb\u52a0\u90ae\u4ef6\u53d1\u9001\u529f\u80fd\u51fd\u6570\uff0c\u53ef\u4ee5\u53c2\u8003cl_prt\u91cc\u9762\u7684\u53d1\u90ae\u4ef6\u529f\u80fd\uff0c\u6211\u7b80\u5316\u4e86\u4e00\u4e9b\u4e1c\u897f\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n<pre><code class=\"hljs ruby\">FUNCTION p_sendmail1(l_xml)\r\nDEFINE p_chk    LIKE type_file.chr10<span class=\"hljs-number\">0<\/span> \r\nDEFINE l_cmd    STRING \r\nDEFINE l_top    STRING\r\nDEFINE l_tempdir    STRING\r\nDEFINE res      LIKE type_file.num5 \r\nDEFINE l_xml        RECORD\r\n           file         STRING,  <span class=\"hljs-comment\">#XML\u6a94\u540d(\u4e0d\u542b\u8def\u5f91,\u6a94\u6848\u653e\u7f6e\u5728os.Path.join(FGL_GETENV(\"TEMPDIR\")\u5e95\u4e0b)<\/span>\r\n           mailserver   STRING,  <span class=\"hljs-comment\">#MAIL SERVER IP<\/span>\r\n           serverport   STRING,  <span class=\"hljs-comment\">#MAIL SERVER Port<\/span>\r\n           user         STRING,  <span class=\"hljs-comment\">#MAIL SERVER User<\/span>\r\n           passwd       STRING,  <span class=\"hljs-comment\">#MAIL SERVER User Password<\/span>\r\n           checkauth    LIKE type_file.chr1,    <span class=\"hljs-comment\">#No.FUN-690005 VARCHAR(1), #CheckAuth<\/span>\r\n           subject      STRING,  <span class=\"hljs-comment\">#\u4fe1\u4ef6\u4e3b\u65e8<\/span>\r\n           body         STRING,  <span class=\"hljs-comment\">#\u4fe1\u4ef6\u672c\u6587\u5167\u5bb9\u6a94\u8def\u5f91<\/span>\r\n           attach       STRING,  <span class=\"hljs-comment\">#\u4fe1\u4ef6\u9644\u4ef6\u6a94\u8def\u5f91<\/span>\r\n           recipient    STRING,  <span class=\"hljs-comment\">#\u6536\u4ef6\u8005<\/span>\r\n           cc           STRING,  <span class=\"hljs-comment\">#\u526f\u672c<\/span>\r\n           bcc          STRING,  <span class=\"hljs-comment\">#\u5bc6\u4ef6\u526f\u672c<\/span>\r\n           sender       STRING   <span class=\"hljs-comment\">#\u5bc4\u4ef6\u8005<\/span>\r\n        <span class=\"hljs-keyword\">END<\/span> RECORD\r\n\r\nDEFINE l_mlj        RECORD LIKE mlj_file.*\r\nDEFINE l_str        STRING\r\nDEFINE lc_channel    base.Channel\r\nDEFINE\r\n  ch                            base.Channel,\r\n  l_status                      SMALLINT,\r\n  l_index                       SMALLINT,\r\n  l_temp                        STRING,\r\n  l_text                        STRING\r\n\r\nLET res = <span class=\"hljs-number\">1<\/span>\r\n{INITIALIZE l_mlj.* TO NULL\r\nSELECT * INTO l_mlj.*  FROM mlj_file WHERE mlj01 = <span class=\"hljs-string\">\"DEFAULT\"<\/span>\r\n\r\nINITIALIZE l_xml.* TO NULL\r\n\r\nLET l_top = fgl_getenv(<span class=\"hljs-string\">\"TOP\"<\/span>)\r\nLET l_tempdir =fgl_getenv(<span class=\"hljs-string\">\"TEMPDIR\"<\/span>)\r\n\r\n<span class=\"hljs-comment\">#  \u751f\u6210XML\u6587\u4ef6\u5199\u5165\u7cfb\u7edf<\/span>\r\nLET l_xml.file = p_chk CLIPPED,<span class=\"hljs-string\">'.xml'<\/span>  <span class=\"hljs-comment\">#\u6309\u4f20\u5165\u7684\u540d\u79f0<\/span>\r\nLET l_xml.mailserver = l_mlj.mlj03   <span class=\"hljs-comment\">#\u90ae\u4ef6\u4e3b\u673a<\/span>\r\nLET l_xml.serverport = l_mlj.mlj04   <span class=\"hljs-comment\">#\u90ae\u4ef6\u4e3b\u673a\u7aef\u53e3<\/span>\r\nLET l_xml.user = l_mlj.mlj05         <span class=\"hljs-comment\">#\u90ae\u4ef6\u4e3b\u673a\u7528\u6237<\/span>\r\nLET l_xml.passwd = l_mlj.mlj06       <span class=\"hljs-comment\">#\u90ae\u4ef6\u4e3b\u673a\u5bc6\u7801<\/span>\r\nLET l_xml.checkauth = l_mlj.mlj08    <span class=\"hljs-comment\">#\u8ba4\u8bc1<\/span>\r\nLET l_xml.sender = <span class=\"hljs-string\">'caozq@test.com'<\/span> <span class=\"hljs-comment\">#\u5bc4\u4ef6\u4eba<\/span>\r\nLET l_xml.subject =<span class=\"hljs-string\">'TEST'<\/span>            <span class=\"hljs-comment\">#\u90ae\u4ef6\u4e3b\u65e8<\/span>\r\n\r\nLET l_xml.body = l_tempdir CLIPPED,<span class=\"hljs-string\">'\/'<\/span>,p_body CLIPPED          <span class=\"hljs-comment\">#\u6587\u672c\u5185\u5bb9<\/span>\r\nLET l_xml.attach = l_tempdir CLIPPED,<span class=\"hljs-string\">'\/'<\/span>,p_attach CLIPPED            <span class=\"hljs-comment\">#\u9644\u4ef6\u5730\u5740<\/span>\r\nLET l_xml.recipient = <span class=\"hljs-string\">'839438304@qq.com'<\/span>  <span class=\"hljs-comment\">#\u6536\u4ef6\u4eba<\/span>\r\n<span class=\"hljs-comment\">#LET l_xml.cc = g_xml.cc<\/span>\r\n<span class=\"hljs-comment\">#LET l_xml.bcc = g_xml.bcc}<\/span>\r\n\r\n<span class=\"hljs-comment\">#########\u7522\u751ffor javamail\u7684xml\u6a94############<\/span>\r\nLET l_tempdir =fgl_getenv(<span class=\"hljs-string\">\"TEMPDIR\"<\/span>)\r\nLET l_top = fgl_getenv(<span class=\"hljs-string\">\"TOP\"<\/span>)\r\n\r\n   LET lc_channel = base.Channel.create()\r\n   LET l_str = os.Path.join(l_tempdir CLIPPED,l_xml.file CLIPPED) \r\n   CALL lc_channel.openFile(l_str, <span class=\"hljs-string\">\"w\"<\/span>)\r\n   CALL lc_channel.setDelimiter(<span class=\"hljs-string\">\"\"<\/span>)\r\n\r\n   CALL lc_channel.write(<span class=\"hljs-string\">\"&lt;?xml version=\"<\/span><span class=\"hljs-string\">\"1.0\"<\/span><span class=\"hljs-string\">\" encoding=\"<\/span><span class=\"hljs-string\">\"UTF-8\"<\/span><span class=\"hljs-string\">\"?&gt;\"<\/span>) <span class=\"hljs-comment\">#No.FUN-740189<\/span>\r\n   CALL lc_channel.write(<span class=\"hljs-string\">\"&lt;Mail&gt;\"<\/span>)\r\n   CALL lc_channel.write(<span class=\"hljs-string\">\"&lt;Protocol&gt;smtp&lt;\/Protocol&gt;\"<\/span>)\r\n   LET l_str = <span class=\"hljs-string\">'&lt;CheckAuth&gt;'<\/span>,l_xml.checkauth CLIPPED,<span class=\"hljs-string\">'&lt;\/CheckAuth&gt;'<\/span>\r\n   CALL lc_channel.write(l_str CLIPPED)\r\n   LET l_str = <span class=\"hljs-string\">'&lt;MailServer&gt;'<\/span>,l_xml.mailserver CLIPPED,<span class=\"hljs-string\">'&lt;\/MailServer&gt;'<\/span>\r\n   CALL lc_channel.write(l_str CLIPPED)\r\n   LET l_str = <span class=\"hljs-string\">'&lt;MailServerPort&gt;'<\/span>,l_xml.serverport CLIPPED,<span class=\"hljs-string\">'&lt;\/MailServerPort&gt;'<\/span>\r\n   CALL lc_channel.write(l_str CLIPPED)\r\n   LET l_str = <span class=\"hljs-string\">'&lt;MailServerUser&gt;'<\/span>,l_xml.user CLIPPED,<span class=\"hljs-string\">'&lt;\/MailServerUser&gt;'<\/span>\r\n   CALL lc_channel.write(l_str CLIPPED)\r\n   LET l_str = <span class=\"hljs-string\">'&lt;MailServerUserPassword&gt;'<\/span>,l_xml.passwd CLIPPED,<span class=\"hljs-string\">'&lt;\/MailServerUserPassword&gt;'<\/span>\r\n   CALL lc_channel.write(l_str CLIPPED)\r\n   Let l_str = <span class=\"hljs-string\">'&lt;Subject&gt;'<\/span>,l_xml.subject CLIPPED,<span class=\"hljs-string\">'&lt;\/Subject&gt;'<\/span>\r\n   CALL lc_channel.write(l_str CLIPPED)\r\n   IF NOT cl_null(l_xml.body) THEN\r\n      LET l_str = <span class=\"hljs-string\">'&lt;MessageBody&gt;'<\/span>,l_xml.body CLIPPED,<span class=\"hljs-string\">'&lt;\/MessageBody&gt;'<\/span>\r\n      CALL lc_channel.write(l_str CLIPPED)\r\n   <span class=\"hljs-keyword\">END<\/span> IF\r\n   IF NOT cl_null(l_xml.attach) THEN\r\n      LET l_str = <span class=\"hljs-string\">'&lt;Attach&gt;'<\/span>,l_xml.attach CLIPPED,<span class=\"hljs-string\">'&lt;\/Attach&gt;'<\/span>\r\n      CALL lc_channel.write(l_str CLIPPED)\r\n   <span class=\"hljs-keyword\">END<\/span> IF\r\n   LET l_str = <span class=\"hljs-string\">'&lt;Recipient&gt;'<\/span>,l_xml.recipient CLIPPED,<span class=\"hljs-string\">'&lt;\/Recipient&gt;'<\/span>\r\n   CALL lc_channel.write(l_str CLIPPED)\r\n   IF NOT cl_null(l_xml.cc) THEN\r\n      LET l_str = <span class=\"hljs-string\">'&lt;CCRecipient&gt;'<\/span>,l_xml.cc CLIPPED,<span class=\"hljs-string\">'&lt;\/CCRecipient&gt;'<\/span>\r\n      CALL lc_channel.write(l_str CLIPPED)\r\n   <span class=\"hljs-keyword\">END<\/span> IF\r\n   IF NOT cl_null(l_xml.bcc) THEN\r\n      LET l_str = <span class=\"hljs-string\">'&lt;BCCRecipient&gt;'<\/span>,l_xml.bcc CLIPPED,<span class=\"hljs-string\">'&lt;\/BCCRecipient&gt;'<\/span>\r\n      CALL lc_channel.write(l_str CLIPPED)\r\n   <span class=\"hljs-keyword\">END<\/span> IF\r\n   LET l_str = <span class=\"hljs-string\">'&lt;From&gt;'<\/span>,l_xml.sender CLIPPED,<span class=\"hljs-string\">'&lt;\/From&gt;'<\/span>\r\n   CALL lc_channel.write(l_str CLIPPED)\r\n   CALL lc_channel.write(<span class=\"hljs-string\">\"&lt;\/Mail&gt;\"<\/span>)\r\n   CALL lc_channel.close()\r\n\r\n   <span class=\"hljs-comment\">#\u5c07\u7522\u751f\u7d66javamail\u7684xml\u6a94\u8f49\u6210\u5ba2\u6236\u7aef\u7684\u7de8\u78bc<\/span>\r\n<span class=\"hljs-comment\">#  \u751f\u6210XML\u6587\u4ef6\u5199\u5165\u7cfb\u7edf<\/span>\r\nLET l_cmd=<span class=\"hljs-string\">\"chmod 777 \"<\/span>,os.Path.join(l_tempdir CLIPPED,l_xml.file CLIPPED),<span class=\"hljs-string\">\" 2&gt;\/dev\/null\"<\/span>     <span class=\"hljs-comment\">#FUN-8B0011<\/span>\r\nRUN l_cmd\r\n\r\nLET l_cmd=<span class=\"hljs-string\">\"sh \"<\/span>,l_top CLIPPED,<span class=\"hljs-string\">\"\/ds4gl2\/bin\/javamail\/UnixMailSender.bat \"<\/span>,\r\n          os.Path.join(l_tempdir CLIPPED,l_xml.file CLIPPED),<span class=\"hljs-string\">\" &gt;\/u1\/out\/caozq.txt\"<\/span> <span class=\"hljs-comment\">#FUN-510006 FUN-8B0011<\/span>\r\nRUN l_cmd  IN FORM MODE RETURNING res\r\n <span class=\"hljs-keyword\">if<\/span> res = <span class=\"hljs-number\">0<\/span> <span class=\"hljs-keyword\">then<\/span> \r\n let l_str = <span class=\"hljs-string\">\"Send ok\"<\/span> \r\n <span class=\"hljs-keyword\">else<\/span> \r\n let l_str = <span class=\"hljs-string\">\"Send fail\"<\/span>\r\n <span class=\"hljs-keyword\">end<\/span> <span class=\"hljs-keyword\">if<\/span>\r\n<span class=\"hljs-comment\">#\u8bfb\u53d6caozq.txt\uff0c\u5224\u65ad\u662f\u5426\u6210\u529f<\/span>\r\nSLEEP <span class=\"hljs-number\">1<\/span> \r\n\r\nLET ch = base.Channel.create()\r\nCALL ch.openFile(<span class=\"hljs-string\">'\/u1\/out\/caozq.txt'<\/span>,<span class=\"hljs-string\">'r'<\/span>)\r\nLET l_status = ch.read(l_temp)\r\nWHILE l_status\r\nLET l_text = l_text.trim(),l_temp.trim()\r\nLET l_status = ch.read(l_temp)\r\n<span class=\"hljs-keyword\">END<\/span> WHILE\r\n\r\nLET l_index = <span class=\"hljs-number\">0<\/span>\r\nLET l_index = l_text.getIndexOf(<span class=\"hljs-string\">'successfully'<\/span>,<span class=\"hljs-number\">1<\/span>)\r\nIF l_index &gt; <span class=\"hljs-number\">0<\/span> THEN\r\n let l_str = <span class=\"hljs-string\">\"Send ok\"<\/span> \r\n <span class=\"hljs-keyword\">else<\/span> \r\n let l_str = <span class=\"hljs-string\">\"Send fail\"<\/span>\r\n<span class=\"hljs-keyword\">END<\/span> IF \r\n\r\n<span class=\"hljs-keyword\">END<\/span> FUNCTION <\/code><\/pre>\n<p>\u4ee3\u7801\u53ef\u4ee5\u72ec\u7acb\u505a\u4e00\u4e2a\u516c\u7528\u51fd\u6570\uff0c\u5176\u4ed6\u51fd\u6570\u8c03\u7528\u7684\u65f6\u5019\u53ea\u9700\u8981\u4f20\u5165g_xml\u6570\u7ec4\u5c31\u80fd\u5b9e\u73b0\u81ea\u52a8\u53d1\u90ae\u4ef6\u4e86<\/p>\n<p>\u4e0b\u9762\u662f\u4f8b\u5b50<\/p>\n<pre><code class=\"hljs ruby\"><span class=\"hljs-comment\">#######################################<\/span>\r\n<span class=\"hljs-comment\">#apmt540\u91c7\u8d2d\u5355\u53d1\u51fa\u65f6\u81ea\u52a8\u53d1\u90ae\u4ef6\u7ed9\u4f9b\u5e94\u5546#<\/span>\r\n<span class=\"hljs-comment\">#######################################<\/span>\r\nFUNCTION p_sendmail_apmt54<span class=\"hljs-number\">0<\/span>(p_prog,p_docno)\r\nDEFINE p_prog         LIKE type_file.chr10<span class=\"hljs-number\">0<\/span>\r\nDEFINE p_docno         LIKE type_file.chr10<span class=\"hljs-number\">0<\/span>\r\nDEFINE lc_channel    base.Channel\r\nDEFINE l_pmn      RECORD\r\n        pmn01    LIKE pmn_file.pmn01,\r\n    pmn02    LIKE pmn_file.pmn02,\r\n    pmn04    LIKE pmn_file.pmn04,\r\n    ima02    LIKE ima_file.ima02,\r\n    ima021   LIKE ima_file.ima021,\r\n    pmn2<span class=\"hljs-number\">0<\/span>    LIKE pmn_file.pmn2<span class=\"hljs-number\">0<\/span>,\r\n    pmn07    LIKE pmn_file.pmn07\r\n              <span class=\"hljs-keyword\">END<\/span> RECORD\r\nDEFINE l_xml        RECORD\r\n           file         STRING,  <span class=\"hljs-comment\">#XML\u6a94\u540d(\u4e0d\u542b\u8def\u5f91,\u6a94\u6848\u653e\u7f6e\u5728os.Path.join(FGL_GETENV(\"TEMPDIR\")\u5e95\u4e0b)<\/span>\r\n           mailserver   STRING,  <span class=\"hljs-comment\">#MAIL SERVER IP<\/span>\r\n           serverport   STRING,  <span class=\"hljs-comment\">#MAIL SERVER Port<\/span>\r\n           user         STRING,  <span class=\"hljs-comment\">#MAIL SERVER User<\/span>\r\n           passwd       STRING,  <span class=\"hljs-comment\">#MAIL SERVER User Password<\/span>\r\n           checkauth    LIKE type_file.chr1,    <span class=\"hljs-comment\">#No.FUN-690005 VARCHAR(1), #CheckAuth<\/span>\r\n           subject      STRING,  <span class=\"hljs-comment\">#\u4fe1\u4ef6\u4e3b\u65e8<\/span>\r\n           body         STRING,  <span class=\"hljs-comment\">#\u4fe1\u4ef6\u672c\u6587\u5167\u5bb9\u6a94\u8def\u5f91<\/span>\r\n           attach       STRING,  <span class=\"hljs-comment\">#\u4fe1\u4ef6\u9644\u4ef6\u6a94\u8def\u5f91<\/span>\r\n           recipient    STRING,  <span class=\"hljs-comment\">#\u6536\u4ef6\u8005<\/span>\r\n           cc           STRING,  <span class=\"hljs-comment\">#\u526f\u672c<\/span>\r\n           bcc          STRING,  <span class=\"hljs-comment\">#\u5bc6\u4ef6\u526f\u672c<\/span>\r\n           sender       STRING   <span class=\"hljs-comment\">#\u5bc4\u4ef6\u8005<\/span>\r\n        <span class=\"hljs-keyword\">END<\/span> RECORD\r\nDEFINE l_mlj        RECORD LIKE mlj_file.*\r\nDEFINE l_tempdir    STRING\r\nDEFINE l_str        STRING\r\nDEFINE l_filename   LIKE type_file.chr100<span class=\"hljs-number\">0<\/span>\r\nDEFINE l_xls           LIKE type_file.chr100<span class=\"hljs-number\">0<\/span>\r\nDEFINE l_chr        VARCHAR(<span class=\"hljs-number\">8000<\/span>)\r\nDEFINE l_cmd        VARCHAR(<span class=\"hljs-number\">8000<\/span>)\r\n\r\nINITIALIZE l_xml.* TO NULL\r\nINITIALIZE l_mlj.* TO NULL\r\nSELECT * INTO l_mlj.*  FROM mlj_file WHERE mlj01 = <span class=\"hljs-string\">\"DEFAULT\"<\/span>\r\nLET l_tempdir =fgl_getenv(<span class=\"hljs-string\">\"TEMPDIR\"<\/span>)\r\n\r\n<span class=\"hljs-comment\">#\u751f\u6210\u9644\u4ef6\u7a0b\u5e8f<\/span>\r\nLET l_filename = p_docno  CLIPPED,<span class=\"hljs-string\">'.txt'<\/span> \r\nLET l_xls      = p_docno  CLIPPED,<span class=\"hljs-string\">'.xls'<\/span>\r\nLET lc_channel = base.Channel.create()\r\nLET l_str = os.Path.join(l_tempdir CLIPPED,l_filename CLIPPED) \r\nCALL lc_channel.openFile(l_str, <span class=\"hljs-string\">\"w\"<\/span>)\r\nCALL lc_channel.setDelimiter(<span class=\"hljs-string\">\"\"<\/span>)\r\nCALL lc_channel.write(<span class=\"hljs-string\">\"\u91c7\u8d2d\u5355\u53f7|*|\u9879\u6b21|*|\u6599\u4ef6\u7f16\u53f7|*|\u54c1\u540d|*|\u89c4\u683c|*|\u6570\u91cf|*|\u5355\u4f4d\"<\/span>)\r\nDECLARE caozq_01 CURSOR FOR\r\nSELECT pmn01<span class=\"hljs-params\">||<\/span><span class=\"hljs-string\">'|*|'<\/span><span class=\"hljs-params\">||<\/span>pmn02<span class=\"hljs-params\">||<\/span><span class=\"hljs-string\">'|*|'<\/span><span class=\"hljs-params\">||<\/span>pmn04<span class=\"hljs-params\">||<\/span><span class=\"hljs-string\">'|*|'<\/span><span class=\"hljs-params\">||<\/span>ima02<span class=\"hljs-params\">||<\/span><span class=\"hljs-string\">'|*|'<\/span><span class=\"hljs-params\">||<\/span>ima021<span class=\"hljs-params\">||<\/span><span class=\"hljs-string\">'|*|'<\/span><span class=\"hljs-params\">||<\/span>pmn2<span class=\"hljs-number\">0<\/span><span class=\"hljs-params\">||<\/span><span class=\"hljs-string\">'|*|'<\/span><span class=\"hljs-params\">||<\/span>pmn07 FROM pmn_file,ima_file where pmn04=ima01 AND  pmn01=p_docno\r\nFOREACH caozq_01 INTO  l_chr \r\nCALL lc_channel.write(l_chr CLIPPED)\r\n<span class=\"hljs-keyword\">END<\/span> FOREACH\r\nCALL lc_channel.close()\r\n<span class=\"hljs-comment\">#\u5c06\u6587\u4ef6\u8f6c\u6362\u6210xls<\/span>\r\nLET l_cmd =  <span class=\"hljs-string\">\"\/u1\/topprod\/topcust\/czz\/4gl\/txt2xlszqcao.pl  \"<\/span><span class=\"hljs-params\">||<\/span>l_tempdir CLIPPED,<span class=\"hljs-string\">'\/'<\/span>,l_filename CLIPPED <span class=\"hljs-params\">||<\/span><span class=\"hljs-string\">\"  \"<\/span><span class=\"hljs-params\">||<\/span>l_tempdir CLIPPED,<span class=\"hljs-string\">'\/'<\/span>,l_xls CLIPPED<span class=\"hljs-params\">||<\/span><span class=\"hljs-string\">\" \"<\/span>     <span class=\"hljs-comment\">#\u8f6c\u6362xls<\/span>\r\nRUN l_cmd\r\n<span class=\"hljs-comment\">#\u751f\u6210\u4e4b\u540e\uff0c\u8c03\u7528mail \u53d1\u9001<\/span>\r\nLET l_xml.file =p_prog CLIPPED,p_docno CLIPPED   <span class=\"hljs-comment\">#XML\u6587\u4ef6\u540d\u79f0<\/span>\r\nLET l_xml.mailserver = l_mlj.mlj03   <span class=\"hljs-comment\">#\u90ae\u4ef6\u4e3b\u673a<\/span>\r\nLET l_xml.serverport = l_mlj.mlj04   <span class=\"hljs-comment\">#\u90ae\u4ef6\u4e3b\u673a\u7aef\u53e3<\/span>\r\nLET l_xml.user = l_mlj.mlj05         <span class=\"hljs-comment\">#\u90ae\u4ef6\u4e3b\u673a\u7528\u6237<\/span>\r\nLET l_xml.passwd = l_mlj.mlj06       <span class=\"hljs-comment\">#\u90ae\u4ef6\u4e3b\u673a\u5bc6\u7801<\/span>\r\nLET l_xml.checkauth = l_mlj.mlj08    <span class=\"hljs-comment\">#\u8ba4\u8bc1<\/span>\r\nLET l_xml.sender = <span class=\"hljs-string\">'caozq@xxx.com'<\/span> <span class=\"hljs-comment\">#\u5bc4\u4ef6\u4eba<\/span>\r\nLET l_xml.subject =p_docno,<span class=\"hljs-string\">'\u91c7\u8d2d\u5355'<\/span>            <span class=\"hljs-comment\">#\u90ae\u4ef6\u4e3b\u65e8<\/span>\r\n\r\nLET l_xml.body = <span class=\"hljs-string\">'test'<\/span> CLIPPED          <span class=\"hljs-comment\">#\u6587\u672c\u5185\u5bb9<\/span>\r\nLET l_xml.attach = l_tempdir CLIPPED,<span class=\"hljs-string\">'\/'<\/span>,l_xls CLIPPED            <span class=\"hljs-comment\">#\u9644\u4ef6\u5730\u5740<\/span>\r\nLET l_xml.recipient = <span class=\"hljs-string\">'839438304@qq.com'<\/span>  <span class=\"hljs-comment\">#\u6536\u4ef6\u4eba<\/span>\r\n<span class=\"hljs-comment\">#LET l_xml.cc = g_xml.cc<\/span>\r\n<span class=\"hljs-comment\">#LET l_xml.bcc = g_xml.bcc<\/span>\r\n\r\nCALL p_sendmail1(l_xml.*)\r\n<span class=\"hljs-keyword\">END<\/span> FUNCTION <\/code><\/pre>\n<p>\u91cc\u9762\u5199\u7684\u662f\u5c06\u6570\u636e\u6293\u53d6\u51fa\u6765\u540e\uff0c\u5148\u4ee5\u5b57\u4e32\u5f62\u5f0f\u5199\u5165\u5230\u4e00\u4e2atxt\u6587\u6863\uff0c\u6700\u540e\u901a\u8fc7perl\u8f6c\u6362\u6210EXCEL\u6863\uff0c\u518d\u5c06\u4ee5\u9644\u4ef6\u7684\u5f62\u5f0f\u53d1\u9001\u5230\u6307\u5b9a\u6536\u4ef6\u4eba\uff0c\u55ef\uff0c\u5c31\u662f\u8fd9\u6837\uff01<\/p>\n<p>\u9644\u4e0aperl\u811a\u672c\u4ee3\u7801\uff1a<\/p>\n<pre><code class=\"hljs perl\"><span class=\"hljs-comment\">#!\/usr\/bin\/perl -w<\/span>\r\n<span class=\"hljs-keyword\">use<\/span> strict;\r\n<span class=\"hljs-keyword\">use<\/span> Spreadsheet::WriteExcel;\r\n<span class=\"hljs-comment\">#use Text::CSV::Encoded;<\/span>\r\n<span class=\"hljs-keyword\">use<\/span> Encode;\r\n<span class=\"hljs-keyword\">if<\/span> (($#ARGV &lt; <span class=\"hljs-number\">1<\/span>) || ($#ARGV &gt; <span class=\"hljs-number\">2<\/span>)) {\r\n   <span class=\"hljs-keyword\">die<\/span>(<span class=\"hljs-string\">\"Usage: csv2xls txtfile.txt newfile.xls\\n\"<\/span>);\r\n};\r\n  <span class=\"hljs-keyword\">my<\/span> $workbook  = Spreadsheet::WriteExcel-&gt;new($ARGV[<span class=\"hljs-number\">2<\/span>]);\r\n  <span class=\"hljs-comment\"># Open the Comma Separated Variable file<\/span>\r\n  <span class=\"hljs-keyword\">open<\/span>  CSVFILE, <span class=\"hljs-string\">'&lt;:utf8'<\/span>, $ARGV[<span class=\"hljs-number\">0<\/span>] <span class=\"hljs-keyword\">or<\/span> <span class=\"hljs-keyword\">die<\/span> <span class=\"hljs-string\">\"$ARGV[0]: $!\"<\/span>;\r\n  <span class=\"hljs-keyword\">my<\/span> $worksheet = $workbook-&gt;add_worksheet(<span class=\"hljs-string\">'Scrap_list'<\/span>);\r\n  <span class=\"hljs-keyword\">my<\/span> $row = <span class=\"hljs-number\">0<\/span>;\r\n  $worksheet-&gt;set_column(<span class=\"hljs-number\">0<\/span>,<span class=\"hljs-number\">5<\/span>,<span class=\"hljs-number\">14<\/span>);\r\n <span class=\"hljs-keyword\">while<\/span> (&lt;CSVFILE&gt;) {\r\n      <span class=\"hljs-regexp\">s\/[\\001-\\037]\/\/g<\/span>;\r\n      <span class=\"hljs-keyword\">my<\/span> @list = <span class=\"hljs-keyword\">split<\/span> <span class=\"hljs-regexp\">\/\\|\\*\\|\/<\/span>,$_;\r\n        <span class=\"hljs-keyword\">my<\/span> $col = <span class=\"hljs-number\">0<\/span>;\r\n        <span class=\"hljs-keyword\">foreach<\/span> <span class=\"hljs-keyword\">my<\/span> $token (@list) {\r\n         <span class=\"hljs-keyword\">if<\/span>  ($token=~<span class=\"hljs-regexp\">\/^0[^.]\/<\/span>) {\r\n            $worksheet-&gt;write_string($row, $col, $token );\r\n         }\r\n\r\n        <span class=\"hljs-keyword\">else<\/span>\r\n         { \r\n           $worksheet-&gt;<span class=\"hljs-keyword\">write<\/span>($row, $col, $token);\r\n         }\r\n           $col++;\r\n        }\r\n        $row++;\r\n    }\r\n   <span class=\"hljs-keyword\">close<\/span>(CSVFILE);\r\n\r\n$workbook-&gt;<span class=\"hljs-keyword\">close<\/span>();\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"artical-copyright mt26\">\u00a9\u8457\u4f5c\u6743\u5f52\u4f5c\u8005\u6240\u6709\uff1a\u6765\u81ea51CTO\u535a\u5ba2\u4f5c\u8005\u56db\u65b9\u6728\u7684\u539f\u521b\u4f5c\u54c1<\/div>\n<p>\u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1a<a href=\"https:\/\/www.hefeiyu.com\">\u8d6b\u975e\u57df<\/a> &raquo; <a href=\"https:\/\/www.hefeiyu.com\/?p=236\">tiptop\u81ea\u5b9a\u4e49\u53d1\u9001\u90ae\u4ef6<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>\u5f88\u591a\u516c\u53f8\u90fd\u6709\u8fd9\u6837\u7684\u9700\u6c42\uff0c\u5e0c\u671b\u7cfb\u7edf\u53ef\u4ee5\u5b9a\u65f6\u90ae\u4ef6\u53d1\u9001\u4e00\u4e9b\u7edf\u8ba1\u62a5\u8868\u7ed9\u5230\u76f8\u5173\u4eba\u5458\uff0c\u4ee5\u4fbf\u505a\u6570\u636e\u5206\u6790\uff0c\u6216\u8005\u662f\u5e0c\u671b\u505a\u5355\u65f6\uff0c\u53d1\u9001\u5355\u636e\u5185\u5bb9\u7ed9\u5230\u76f8\u5173\u4eba\u5458\u63d0\u9192\u5ba1\u6838\u548c\u5907\u6848\uff0c\u4e0b\u9762\u5206\u4eab\u4e00\u79cd\u5341\u5206\u7b80\u5355\u65b9\u4fbf\u7684\u5b9e\u73b0\u65b9\u5f0f\uff0cjavamail+4gl+perl\u811a\u672c\u5b9e\u73b0; 1:\u5728aooi999 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[13,99],"class_list":["post-236","post","type-post","status-publish","format-standard","hentry","category-4gl","tag-tiptop-gp","tag-99"],"_links":{"self":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=236"}],"version-history":[{"count":1,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/236\/revisions"}],"predecessor-version":[{"id":237,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/236\/revisions\/237"}],"wp:attachment":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}