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++; } } }