帮我看看java导出excel错误

phxwjg 2008-09-19 11:55:53
String[] pk_vouchers = new String[getListModel().getCurrentIndexs().length];
//上面是定义的一个string类型的数组
String sql ="";
for (int i = 0; i < getListModel().getCurrentIndexs().length; i++)
{
pk_vouchers[i] = getListModel().getVoucherIndexVO(getListModel().getCurrentIndexs()[i]).getPk_voucher();
//给pk_vouchers[i]赋值
sql="select from where pk_voucher='"+pk_vouchers[i]+"'" ; //sql语句
}
showHintMessage("正在导出EXCLE...");
//写导出EXCELE
IUAPQueryBS queryBS = (IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
//IUAPQueryBS此类为一个封装好的访问数据库的类,上句为访问数据库
List list = (List)queryBS.executeQuery(sql,new ArrayListProcessor());
//将从数据库中查询的结果赋值给一个list
//****上面都没有错,我在eclipse中跟踪出了各个变量的值
FileOutputStream fos=null;
HSSFWorkbook wb = null;
HSSFSheet sheet =null;
HSSFRow row=null;
HSSFCell cell=null;

//列名
row = sheet.createRow(0);
//走到上面这步出错了,row的值为null
cell = row.createCell((short) 0);
cell.setCellValue(new HSSFRichTextString("ddd"));
cell = row.createCell((short) 1);
cell.setCellValue(new HSSFRichTextString("sss"));
cell = row.createCell((short) 2);
cell.setCellValue(new HSSFRichTextString("eee"));
// 赋值
row = sheet.createRow(1);
for(int z=0;z<list.size();z++){
Object [] obj = (Object[]) list.get(z);
String [] vdename = (String[]) obj[z];
cell = row.createCell((short) z);
cell.setCellValue(new HSSFRichTextString(vdename[z]));
}

fos = new FileOutputStream("d:\\数据.xls");
wb = new HSSFWorkbook();
sheet = wb.createSheet("数据");
wb.setSheetName(0, "数据");
//row = sheet.createRow(0);
wb.write(fos);
fos.close();

showHintMessage("导出EXCLE完成。");
System.out.println("导出EXCLE完成。");

上面为我写的java导出excel的代码,请大家看一下我在上面中的注释,为什么row = sheet.createRow(0);的值为null
...全文
169 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
無名VF 2008-09-23
  • 打赏
  • 举报
回复
很好很强大!
tojavastudy 2008-09-23
  • 打赏
  • 举报
回复
nice啊
jinsu_st 2008-09-22
  • 打赏
  • 举报
回复
结贴是美德!
phxwjg 2008-09-22
  • 打赏
  • 举报
回复
谢谢了,谢谢了

现在这个功能是越来越复杂,后面还有要麻烦你
内存泄漏 2008-09-20
  • 打赏
  • 举报
回复
是不是sheet对象的值有问题??
老紫竹 2008-09-20
  • 打赏
  • 举报
回复
HSSFSheet sheet =null;
HSSFRow row=null;
HSSFCell cell=null;

//列名
row = sheet.createRow(0);


你仔细看,你的sheet 是 null啊?你得先
sheet = wb.createSheet();


吧!

呵呵!具体的函数,你自己看吧!

67,538

社区成员

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

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