Excel的xls文件通過網頁上傳到後臺處理,後臺對xls文件的處理需要使用到POI,
Pom.xml文件中先引入支持POI的依賴
<!--處理2003 excel-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.16</version>
</dependency>
<!--處理2007 excel-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.16</version>
</dependency>
前端通過form表單的multipart數據形式上傳excel文件
<div>
<form method="post" action="/Cyberspace/main/informationBatchAdd.do" enctype="multipart/form-data">
<input type="file" id="excelFile" name="file"/>
<button type="submit">批量上傳</button>
</form></div>
後臺使用POST接收MultipartHttpServletRequest類型數據,獲取上傳文件,轉換爲輸入流,再轉換爲處理xls文件的類HSSFWorkbook類(XSSHWorkbook類是處理xlsx文件)
//獲取Multipart文件對象
MultipartFile fileFile = request.getFile(“file”);
//文件對象轉換成輸入流
InputStream in = fileFile.getInputStream();
//輸入流轉換爲怎麼處理xls文件的類
HSSFWorkbook readWb = new HSSFWorkbook(in);
readWb.getNumberOfSheets 獲取工作表數量
HSSFSheet sheet = readWb.getSheetAt(0); 獲取0工作表對象
sheet.getLastRowNum() 獲取行數
HSSFRow hssfRow = sheet.getRow(2); 獲取2行對象
hssfRow.getPhysicalNumberOfCells(); 獲取一行中單元格數量
hssfRow.getCell(3) 獲取一行中第4個單元格對象
getStringCellValue() 獲取單元格中的值