java动态生成代码 Java 动态编译

java中,如何动态生成HSSFCell cell0= row.createCell(..)中的cell0,cell1,cell2,cell3........

根据你下面的这段要求:

创新互联建站-专业网站定制、快速模板网站建设、高性价比双河网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式双河网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖双河地区。费用合理售后完善,10余年实体公司更值得信赖。

“就是列数有时有三个,有时有四个,这些都是不确定的,所以想动态生成cell0,不用去考虑到底生成多少个HSSFCell对象”

给个思路的代码(我是直接写的,你拿来用时要改改):

List list=....//你用来动态生成的数据列表

int rno=list.size(); //行数

//列数如下,我想这是你的问题的关键

int cno=list.get(0).getClass().getDeclaredFields().length;//看不懂就照用试试。

XSSFRow row=null;

XSSFCell cell = null;

for(int i=0;irno;i++){

row=sheet.createRow(i);

for(int j=0;jcno;j++){

cell = row.createCell(j);

... //我想你在这里要取值时也是个问题。看你的list封装的是什么了

}

}

怎样动态执行一段JAVA代码

首先你可以使用输入输出流(或者你说的可能是要用反射得到程序结果来解析)解析做出*.Java文件。

然后可以使用runtime调用Dos下的java编译命令编译取得class文件。

然后使用classloader,反射等组合执行生成的class文件。

怎样用java代码动态生成数据库表

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection conn=DriverManager.getConnection("数据库url","帐号","密码");

state=conn.createStatement();

state.executeUpdate("create 建表语句");

state.executeUpdate("insert 插入数据")------插入的值由页面获得,注意字符串拼接。

然后就是关闭连接,state.close();conn.close();

核心代码就是这些,具体应用你可以多写几个方法(增删改查),都是类似的,注意异常的处理,关闭连接最好在finally中进行。

用java如何用代码实现动态生成JLabel

String[] str={"名字1","名字2","名字3"};

for(int i=0;iv.length;i++){

JLabel lbl = new JLabel(str[i]);

int x=i%4*80+40; //4个一排 间隔80 第一个x从40开始

int y=i/4*40+40;

lbl[i].setBounds(x, y, 80, 20);

panel.add(chb[i]);

}


当前名称:java动态生成代码 Java 动态编译
分享网址:http://hbruida.cn/article/hjjgsg.html