我有一个代码,我在其中创建一个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()
并且我应该计算我的行数。
感谢您的建议。