jXLS导出excel空白的问题

yy8616270 2010-10-09 04:04:54
这个空白是内容取不到

这是template1.xls
***********************************************************************************
客户信息表(导出)

编号 姓名 生日 性别
<jx:forEach items="${clients}" var="ccc">
${ccc} - ${ccc.id} ${ccc.name} ${ccc.birthday} ${ccc.sex}
</jx:forEach>
***********************************************************************************

${ccc}能够输出对象jxls.Client@3fa5ac这样的内容
${ccc.id}这样的就输出是空白。下面是完整的代码。



package jxls;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

import net.sf.jxls.exception.ParsePropertyException;
import net.sf.jxls.transformer.XLSTransformer;

public class ExportExcel {

private static Map<String,List<Client>> m = new HashMap<String,List<Client>>();
private static java.util.List<Client> clientList = new ArrayList<Client>();

public static void main(String[] args) {
Random r = new Random();
for (int i = 0; i < 10; i++) {

Client t = new Client(i + 1, "客户020" + i, Calendar
.getInstance().getTime(), r.nextBoolean() ? "M" : "F");
clientList.add(t);
System.out.println(t.getName());
}

m.put("clients", clientList);
// 以上模拟从数据库中查询出的数据
XLSTransformer tfmer = new XLSTransformer();
try {
tfmer.transformXLS("d:\\template1.xls", m, "d:\\1.xls");
} catch (ParsePropertyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}
}

class Client {
public int id;
public String name;
public Date birthday;
public String sex;

public Client(int id, String name, Date birthday, String sex) {
super();
this.id = id;
this.name = name;
this.birthday = birthday;
this.sex = sex;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Date getBirthday() {
return birthday;
}

public void setBirthday(Date birthday) {
this.birthday = birthday;
}

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

}

...全文
663 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
南山隐者 2011-06-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 yy8616270 的回复:]
这个空白是内容取不到

这是template1.xls
***********************************************************************************
客户信息表(导出)

编号 姓名 生日 性别
<jx:forEach items="${clients}" var="ccc">
${ccc} - ${cc……
[/Quote]
<jx:forEach items="${clients}" var="ccc">
<jx:outline detail="false">
${ccc} - ${ccc.id} ${ccc.name} ${ccc.birthday} ${ccc.sex}
</jx:outline>
</jx:forEach>
如上加上<jx:outline></jx:outline>标签试一试
南山隐者 2011-06-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liuzhongwen2610 的回复:]

Lz解决问题了吗?
我也遇到一个差不多的问题,跟你这句
m.put("clients", clientList);
在excel中foreach的时候 items="${clients}"不认识clients 直接报空指针异常
另外 clients 里面的对象的那个类可以有无参构造不,例如
public Client() {
}
[/Quote]
构造不影响
取到null,你看看你的excel模板中的输入是否有中文字符
liuzhongwen2610 2011-05-26
  • 打赏
  • 举报
回复
Lz解决问题了吗?
我也遇到一个差不多的问题,跟你这句
m.put("clients", clientList);
在excel中foreach的时候 items="${clients}"不认识clients 直接报空指针异常
另外 clients 里面的对象的那个类可以有无参构造不,例如
public Client() {
}
yy8616270 2010-10-09
  • 打赏
  • 举报
回复
这句是 : tfmer.transformXLS("d:\\template1.xls", m, "d:\\1.xls");

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧