首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Poi单元数据正在复制。

Apache Poi单元数据正在复制。
EN

Stack Overflow用户
提问于 2014-06-14 01:35:18
回答 1查看 57关注 0票数 1

我不知道为什么,但是当我输出excel文件时,所有的数据都是相同的。在输出文件之前,在for循环中打印时,所有值都是不相等的。我已经盯着这个看了一个半小时了,我一辈子都找不出答案。有什么想法吗?

代码语言:javascript
复制
public void excellGenerator(String toexcel,String oldData2){

            //System.out.println("THis is the excel file data:\n\n"+toexcel);

            String[] excel = toexcel.split("EOL\n");
            String[] dataToArray = oldData2.split("\\|");           
            String[][] finalExcel =new String[excel.length][];
            int l=0;

            for (int i=0; i<excel.length; i++) {        
                finalExcel[i]= excel[i].split("\\|");
            }   




        try{
            //+System.out.println("im Lost O_O oh no");
            String filename="LOA_"+output+".xls" ;
            HSSFWorkbook workbook=new HSSFWorkbook();
            HSSFSheet sheet =  workbook.createSheet("LOA Results");  
            HSSFRow rowhead=   sheet.createRow(0);

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

                rowhead.createCell(i).setCellValue(dataToArray[i]);
            }

            for(int i=1; i < excel.length+1 ;i++){  

                HSSFRow row =   sheet.createRow(i);

                for(int j=0; j < excel.length ;j++){    

                    for(int k=0; k < finalExcel[j].length ;k++){

                        row.createCell(k).setCellValue(finalExcel[j][k]);
                        System.out.print(finalExcel[j][k]+" ");
                    }
                    System.out.println();
                } 
            }

            FileOutputStream fileOut =  new FileOutputStream(filename);
            workbook.write(fileOut);
            fileOut.close();
            System.out.println("Your excel file has been generated!");

            } catch ( Exception ex ) {
                System.out.println(ex);

            }
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-14 01:46:21

你的循环太多了,

代码语言:javascript
复制
for(int i=1; i <= excel.length; i++){  
  HSSFRow row = sheet.createRow(i);
  final int j = i - 1; // <-- it's actually the row index into finalExcel (0 based).
  for(int k=0; k < finalExcel[j].length; k++){
    row.createCell(k).setCellValue(finalExcel[j][k]);
    System.out.print(finalExcel[j][k]+" ");
  }
  System.out.println();
} 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24215842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档