...
2、在【定制】-》【计划任务】-》【任务】创建任务,【任务类型】选择:“定制”
JAVA代码如下:
代码块 | ||||||
---|---|---|---|---|---|---|
| ||||||
importPackage(Packages.smartbi.sdk.service.spreadsheetreport); importPackage(Packages.smartbi.scheduletask.task); importPackage(Packages.smartbi.sdk.service.systemconfig); importPackage(Packages.java.lang); importPackage(Packages.java.util); importPackage(Packages.java.text); importPackage(Packages.java.io); importPackage(Packages.org.apache.commons.lang); importPackage(Packages.org.apache.commons.mail); importPackage(Packages.smartbi.scheduletask.component); var report = null; //定义email对象,初始化参数 var multiPartEmail = new HtmlEmailSmartbiMultiPartEmail(); var systemConfigService = new SystemConfigService(connector); var configList = systemConfigService.getSystemConfigs(); var mailServer = null; var fromAddress = null; var password = null; var emailSSLEnabled = null; var emailTLSEnabled = null; for (var i = 0; i < configList.size(); i++) { var config = configList.get(i); if (config!=null) { if (config.getKey().equals("EMAIL_SMTP_SERVER")) { mailServer = config.getValue(); } else if (config.getKey().equals("EMAIL_USER_NAME")) { fromAddress = config.getValue(); } else if (config.getKey().equals("EMAIL_USER_PASSWORD")) { password= config.getValue(); } else if (config.getKey().equals("EMAIL_SSL_ENABLED")) { emailSSLEnabled = true; } else if (config.getKey().equals("EMAIL_TLS_ENABLED")) { emailTLSEnabled = true; } } } // System.out.println(mailServer); // System.out.println(fromAddress); // System.out.println(password); multiPartEmail.setHostName(mailServer); multiPartEmail.setAuthentication(fromAddress, password); multiPartEmail.setFrom(fromAddress); if(emailSSLEnabled){ multiPartEmail.setSSL(true); } if(emailTLSEnabled){ multiPartEmail.setTLS(true); } multiPartEmail.addTo("21206373@qq.com");//接收邮箱地址 //multiPartEmail.addTo("zhouyan1@smartbi.com.cn");//再添加接收邮箱地址 multiPartEmail.setCharset("GBK");//邮件内容字符集 multiPartEmail.setSubject("测试邮件");//邮个把标题 report = new SSReport(connector); report.open("I8a87946850215270014d65ed454c1f6e"); //报表资源ID report.setParamValue("OutputParameter.I40282124232b5300014d503ddc0b1401.p_year_curr", "2015", "2015");//设置报表的参数默认值 //report.open("I8a87946850215270014d65ed454c1f6e"); //第二报表资源ID //report.setParamValue("OutputParameter.I40282124232b5300014d503ddc0b1401.p_year_curr", "2015", "2015");//第二报表资源设置报表的参数默认值 var pngFile = File.createTempFile("emailtask",".png"); var os = new FileOutputStream(pngFile); report.doExport("PNG","","",os,"","",""); os.flush(); os.close(); report.close(); var fileLen = pngFile.length(); //发送邮件 var cid = multiPartEmail.embed(pngFile); var sb = new StringBuffer(); sb.append("<html><body>length:"+ fileLen +"<img src=\"cid:"+cid+"\"></body></html>"); sb.append("\n"); var html = sb.toString(); multiPartEmail.setHtmlMsg(html); multiPartEmail.send(); |