我从数据库查询出来的数据,通过exportPersonInfoExcel方法来写入EXCEL的一行数据,
问题是:签发人,接收人,审核人同时调用这个方法的时候,只能把最后一个成功的写入到EXCEL里面
前两个都没有了。
而如果要是单独写上面三个中的另一个,都可以正常写入到EXCEL里面并显示出来,
这是为什么呢?难道只能对同一行的EXCEL进行处理么?         @Override
protected void buildExcelDocument(Map<String, Object> model,
HSSFWorkbook workbook, HttpServletRequest request,
HttpServletResponse response) throws Exception {
//签发人
exportPersonInfoExcel(assignData,workbook,sheet,4,0);
//接收人
exportPersonInfoExcel(receiveData,workbook,sheet,4,3);
//审核人
exportPersonInfoExcel(verifyData,workbook,sheet,4,6); //处理中文文件名  
fileName = encodeFilename(fileName, request);
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=" + fileName+".xls");
}          public void exportPersonInfoExcel(ArrayList dataset
, Workbook workbook
, HSSFSheet sheet
, int index
, int size) {  
        try {
            // 生成并设置主体样式  
            CellStyle style2 = workbook.createCellStyle();  
            style2 = setbodyStyle(workbook, style2);  
            
            int sizeBack = size;
            if(dataset.size()>0){
             for(int i = 0; i < dataset.size(); i++){
                 //产生表格内容行  
                    Row rowInfo = sheet.createRow(index);
                    TaskComplexDto data = (TaskComplexDto) dataset.get(i);
                    size=sizeBack;
                    for(int j=0;j<3;j++){
                     Cell cell = rowInfo.createCell(size);  
                        cell.setCellStyle(style2);
                        if(j==0){
                         RichTextString textUser = new HSSFRichTextString(data.getUserName());
                         cell.setCellValue(textUser);
                        }
                        if(j==1){
                         RichTextString textAssign = new HSSFRichTextString(data.getAssignTimes());
                         cell.setCellValue(textAssign);
                        }
                        if(j==2){
                         RichTextString textOut = new HSSFRichTextString(data.getOutTimes());
                         cell.setCellValue(textOut);
                        }
                        size++;
                    }
                    index++;
                }
            }
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }
就像这样:
//////////////////////////////////////////////////////////////////////////////////
签发人 签发数 超时数 接收人 接收数 超时接收 审核人 审核数 超时审核数
admin 7 0
admin2 1 0
admin3 8 1
//////////////////////////////////////////////////////////////
签发人的数据和接收人的数据都没有显示出来!
我确定都有数据的!
请大家帮忙,谢谢