EXCEL存在着系统自带函数与用户自定义函数,系统函数如一些数字、字符、数组、日期、筛选等函数;自定义函数用户可以通过VBA进行设计。但是无论是哪种函数,都是动态确定的,不可能在代码中写死。那么,实际运行函数时就必须用到反射。
反射需要实现的功能就是:输入:方法名、参数类型、参数值 输出:函数结果。那么可用如下代码实现:
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainTest {
/**
* 会出现ClassNotFoundException、NoSuchMethodException
* @param className
* @param methodName
* @param paraClass
* @param paras
* @throws Exception
*/
public static Object reflectEquation(String className,String methodName,Class[] paraClass,Object[] paras) throws Exception
{
Class clz=Class.forName(className);
Method method=clz.getDeclaredMethod(methodName, paraClass);
return method.invoke(clz, paras);
}
public static void main(String[] args) throws Exception {
Date dt=new Date();
int a&