import org.pentaho.di.core.KettleEnvironment;
import org.pentaho.di.core.exception.KettleException;
import org.pentaho.di.trans.Trans;
import org.pentaho.di.trans.TransMeta;
public class KettleUtil {
//private static Log log = LogFactory.getLog(KettleUtil.class);
public static String TRANSFORMATION_MSG = "";// 转换过程中错误异常.
public static int ERR_SEQUENCE = 1; // 错误序列
/**
* @Title: runTransformation
* @Class: KettleUtil.java
* @Package: com.tware.rent.common
* @Description: Excel导入数据
*
* @param ktrPath
* kettle文件路径
* @param excelPath
* Excel文件路径
* @return
*
*/
public void runTransformation(String ktrPath, String excelPath) {
try {
KettleEnvironment.init();
TransMeta transMeta = new TransMeta(ktrPath);
Trans trans = new Trans(transMeta);
System.getProperties().put("excel_path", excelPath);
trans.prepareExecution(null);
trans.startThreads();
trans.waitUntilFinished();
if (trans.getErrors() != 0) {
KettleUtil.setTransformationMsg("Excel:" + excelPath + "导入失败!<br>");
}
} catch (KettleException e) {
e.printStackTrace();
}
}
/**
* @Title: runTransformation
* @Class: KettleUtil.java
* @Package: com.tware.rent.common
* @Description: 导出数据到Excel
*
* @param ktrPath
* kettle文件路径
* @param excelPath
* Excel文件路径
* @param excelTemplate
* Excel模版
* @return
*
*/
public void runTransformation(String ktrPath, String excelPath, String excelTemplate) {
try {
if (excelTemplate == null || "".equals(excelTemplate)) {
excelTemplate = "";
}
KettleEnvironment.init();
TransMeta transMeta = new TransMeta(ktrPath);
Trans trans = new Trans(transMeta);
System.getProperties().put("excel_path", excelPath);
System.getProperties().put("excelTemplate", excelTemplate);
trans.prepareExecution(null);
trans.startThreads();
trans.waitUntilFinished();
if (trans.getErrors() != 0) {
KettleUtil.setTransformationMsg("Excel:" + excelPath + "导出失败!<br>");
}
} catch (KettleException e) {
e.printStackTrace();
}
}
/**
* @Title: setTransformationMsg
* @Class: KettleUtil.java
* @Package: com.tware.rent.common
* @Description: 错误消息
*
* @param exceptionMsg
*
*/
public static void setTransformationMsg(String exceptionMsg) {
if (exceptionMsg != "") {
TRANSFORMATION_MSG += "错误" + ERR_SEQUENCE + ":" + exceptionMsg;
ERR_SEQUENCE++;
}
}
}