关于java读取excel问题
1.引入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.1</version>
<scope>test</scope>
</dependency>
2.编写测试代码
public class ExcelTest {
@Test
public void excelTest() throws IOException {
File file=new File("D:/java/成绩表2.xls");
InputStream inputStream = new FileInputStream(file);
Sheet sheet = null;
if(file.getName().endsWith("xls")){
HSSFWorkbook workbook = new HSSFWorkbook(inputStream);
sheet = workbook.getSheetAt(0);
}else {
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
sheet = workbook.getSheetAt(0);
}
//两种方式读取工作表
// HSSFSheet sheet=workbook.getSheet("Sheet0");
//获取sheet中最后一行行号
int lastRowNum=sheet.getLastRowNum();
for (int i=0;i<=lastRowNum;i++){
Row row=sheet.getRow(i);
//获取当前行最后单元格列号
int lastCellNum=row.getLastCellNum();
for (int j=0;j<lastCellNum;j++){
Cell cell=row.getCell(j);
cell.setCellType(CellType.STRING);
String value=cell.getStringCellValue();
System.out.print(value+" ");
}
System.out.println();
}
}
}
在测试代码中加入了判断,可以读取两种不同的excel文件,且不会报任何异常