1,同时阅读Java下载的xlsx文件
我正在尝试读取具有特定行号的xlsx文件,该行号将作为参数提供。
如果sheet.getRow(RowNum),我得到NullPointerException。 我能够读取xlsx文件,如果我调整列宽并手动再次保存它。 但是这破坏了我的自动化目的。 我能够读取任何其他手动创建的xlsx文件。
以下是示例代码:
public String readCouponCode(int getRowCount){
try {
Registration reg=new Registration();
File inputFile = new File(this.DownloadFile);
System.out.println(DownloadFile);
// Get the workbook instance for XLSX file
XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(inputFile));
// Get first sheet from the workbook
XSSFSheet sheet = wb.getSheetAt(0);
// Get iterator to all the rows in current sheet
Iterator<Row> rowIterator = sheet.iterator();
// Traversing over each row of XLSX file
Row row = sheet.getRow(getRowCount);
// For each row, iterate through each columns
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
int cellIndex = cell.getColumnIndex();
// System.out.println(cellIndex);
if (cellIndex == 0) {
CouponCode = cell.getStringCellValue();
System.out.println(cell.getStringCellValue() + "t");
}
}
} catch (Exception e) {
System.err.println("Exception :" + e.getMessage());
}
return CouponCode;
}我也尝试过使用XSSFRow,但它产生相同的结果。
注:我试着通过评论sheet.getRow()行,它只打印最后一行。 我试图通过使用sheet.getPhysicalNumberOfRows()获得行数,它给出1但实际上我的xlsx文件有7行。
使用的罐子:
dom4j poi-3.13-20150929 poi-excelant-3.13-20150929 poi-ooxml-3.13-20150929 poi-ooxml-schemas-3.13-20150929 xmlbeans-2.5.0
链接地址: http://www.djcxy.com/p/37979.html