sql报表工具中如何自定义上传文件至ftp服务器
1、编写类文件编写java类,继承AbstractOutputFileAction接口,通过下面两个方法实现上传附件至ftp的功能:第一个方法:爿讥旌护getFilesToDealWith(File[] files),主要功能是筛选要处理的文件,参数files是传进来的文件,其中根据所选可能包括报表生成的pdf和excel文件。示例中直接返回传进来的文件,没有进行任何操作,用户可根据需要自行修改编辑。第二个方法:doFileAction(File[] files),主要功能是实现FTP上传附件的功能,需根据实际情况设置FTP服务器的相关参数。代码如下:package com.fr.output;import java.io.File;import com.fr.json.JSONException;import com.fr.json.JSONObject;import com.fr.schedule.output.AbstractOutputFileAction;import com.fr.schedule.output.FTPTransmission;import com.fr.schedule.output.OutputFileAction;public class FTPUpload extends AbstractOutputFileAction {@Overridepublic File[] getFilesToDealWith(File[] files) {return files;}@Overridepublic void doFileAction(File[] files) {FTPTransmission ftp=new FTPTransmission();ftp.setServerAddress("192.168.100.100");ftp.setPort(21);ftp.setSavePath("test");ftp.setUsername("1");ftp.setPassword("1");try {ftp.doFTP(files);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}@Overridepublic boolean isEmailNotification() {// TODO Auto-generated method stubreturn false;}@Overridepublic OutputFileAction analyzeJSON(JSONObject arg0) {// TODO Auto-generated method stubreturn null;}@Overridepublic JSONObject createJSONConfig() throws JSONException {// TODO Auto-generated method stubreturn null;}@Overridepublic String getJsonTag() {// TODO Auto-generated method stubreturn null;}}编译类文件,将生成的FTPUpload.class放在%FineReport_home%\WebReport\WEB-INF\classes\com\fr\output文件夹下。注:类文件放的位置只需要与编写类文件里面的package位置对应即可。
2、定时任务在附件类型后面勾选excel,word,pdf,则可将定时任务结果导出为excel,word以及pdf格式,然后勾选下面的是否自定义附件处理,并在类名处填写正确类名,点击完成即可。如下图:

3、效果查看
