帮我看看java导出excel错误
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