不能使用bidimensional arrayList创建多个行

时间:2017-01-08 20:36:20

标签: java excel arraylist

我有一个代码,我在其中创建一个Excel,从二维arrayList引入数据,并使用报废方法获取数据。问题是,它没有按预期运行,我变得非常绝望,我开始认为我不知道自己在做什么。

我已阅读并在网上查找信息,但没有这三步(创建二维arraylist,废弃数据并使用该信息创建excel)。

我希望还有另一种方法,因为这只是一点点培训,我想创建的Excel有很多很多信息。我真的很感激某种帮助,我想明白但很明显我迷失了。我在1月1日开始学习java,而java数组与PHP无关。

当我在java中遇到问题时(我正在使用eclipse),我甚至不明白我要看哪里。

这里是我创建自己的代码:

 ArrayList<ArrayList<String>> listaEmpresaA = new ArrayList<ArrayList<String>>(); //creation of the bidimensional array list.

    String [] paises = {"España", "USA", "Rusia"};

    int total_columnas = 2 + (paises.length*3);

    //Creating the columns
     for(int i =0; i< total_columnas; i++){
                listaEmpresaA.add(new ArrayList<String>());
            }

     //Creating the rows
     //Creating the header

     listaEmpresaA.get(0).add("Juego");
     listaEmpresaA.get(1).add("URL");



     for (int z=0 ; z<paises.length; z++) {
         for (int j=2; j<total_columnas ; j=j+3 ) {
             listaEmpresaA.get(j).add(paises[z]);
             listaEmpresaA.get(j+1).add(paises[z] + " Gold");
             listaEmpresaA.get(j+2).add(paises[z] + " sin Gold");
         }
     }

     //End of the header

     /*At this point if I write something like this          listaEmpresaA.get(1).add("URL"); should introduce that information below the first one, isn´t it? But that´s not happening...*/


    //From here just creating and introducing all the data in the excel.
     try {
         //create .xls and create a worksheet.
         FileOutputStream fos = new FileOutputStream("D:\\mierda.xls");
         HSSFWorkbook workbook = new HSSFWorkbook();
         HSSFSheet worksheet = workbook.createSheet("XboxOne");

         //Escribimos en el Excel toda la información
            int l=0;

                //Recorremos las filas
             for (int f=0; f< listaEmpresaA.get(0).size() ; f++) {
                HSSFRow fila = worksheet.createRow(f);

                //Recorremos las columnas
                for(int c=0;c<total_columnas;c++){
                       HSSFCell celda = fila.createCell(c);
                       celda.setCellValue(listaEmpresaA.get(c).get(f));
                       l++;

                }      
             }






        //Save the workbook in .xls file
         workbook.write(fos);
         fos.flush();
         fos.close();
     } catch (FileNotFoundException e) {
         e.printStackTrace();
     } catch (IOException e) {
         e.printStackTrace();
     }

关于我对行(未显示)的问题,我想这是因为我刚刚写了listaEmpresaA.get(0).size()并且我应该计算我的行数。

感谢您的建议。

0 个答案:

没有答案