核心依賴
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId> <!-- 支持 .xlsx -->
<version>5.2.3</version>
</dependency>
<dependency> <!-- Commons FileUpload -->
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.5</version>
</dependency>
Servlet 處理上傳
@WebServlet("/upload")
@MultipartConfig
public class UploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Part filePart = req.getPart("excelFile");
try (InputStream is = filePart.getInputStream()) {
Workbook wb = WorkbookFactory.create(is); // 自動識別 .xls/.xlsx
Sheet sheet = wb.getSheetAt(0);
for (Row row : sheet) {
Cell c0 = row.getCell(0);
String val = c0.getStringCellValue();
// 業務處理...
}
}
}
}
前端
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="excelFile" accept=".xls,.xlsx" required>
<button type="submit">導入</button>
</form>