我正在写一个java程序,在apache poi的帮助下从excel文件中读取。我想编写一个程序,从excel创建对象数组,并更新数据库。
我能够在apache poi的帮助下阅读excel文件(使用示例提供),但在阅读excel文件后,我不知道如何在java中创建包含所有数据的数组。 第一行表示表字段(即列名:EX name,id等)。
1)即使在excel文件中反转/更改了订单,逻辑也应该足够智能以检测列。 表格示例:
代码:
XSSFSheet sheet = workbook.getSheetAt(0);
Iterator < Row > rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
row = (XSSFRow) rowIterator.next();
Iterator < Cell > cellIterator = row.cellIterator();
while ( cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch (cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
System.out.print(
cell.getNumericCellValue() + " \t\t " );
break;
case Cell.CELL_TYPE_STRING:
/*System.out.print(
cell.getStringCellValue() + " \t\t " );
*/break;
}
}
System.out.println();
}
答案 0 :(得分:0)
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheetAt(0);
Iterator < Row > rowIterator = sheet.iterator();
// using for loop on rows of excel sheet
for(int i=sheet.getFirstRowNum()+1;i<=sheet.getLastRowNum();i++){
Row ro=sheet.getRow(i);
for(int j=ro.getFirstCellNum();j<ro.getLastCellNum();j++){
Cell ce = ro.getCell(j);
DataFormatter formatter = new DataFormatter();
String str = formatter.formatCellValue(ce);
//add the logic to update the aaray
}
}