如何使用Selenium WebDriver打开受密码保护的Excel文件
如何使用Selenium打开受密码保护的Excel文件?
Selenium本身仅用于Web应用自动化操作,没有读取Excel文件的相关能力,你可以通过已使用的Apache POI组件实现读取受密码保护的Excel文件,无需额外适配Selenium逻辑。
如果你的项目用Maven管理依赖,确保已引入Apache POI的核心依赖(版本可根据项目需求调整):
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency>
你可以直接用以下代码替换原有无密码访问的逻辑:
import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.WorkbookFactory; import java.io.File; import java.io.FileInputStream; public class ReadEncryptedExcel { public static void main(String[] args) { try { File src = new File("C:/Users/.../.../.../Credentials Automation.xlsx"); FileInputStream fis = new FileInputStream(src); // 第二个参数填入你的Excel打开密码 Workbook wb = WorkbookFactory.create(fis, "你的Excel密码"); Sheet sheet1 = wb.getSheetAt(0); Sheet sheet2 = wb.getSheetAt(1); // 后续操作和无密码Excel完全一致 // 操作完成后记得关闭工作簿和流 wb.close(); fis.close(); } catch (Exception e) { e.printStackTrace(); } } }
WorkbookFactory会自动适配.xls和.xlsx格式的Excel文件,不需要手动区分HSSFWorkbook和XSSFWorkbook,兼容性更好- 如果密码输入错误,会抛出
EncryptedDocumentException异常,你可以根据需求做对应的异常捕获处理 - 仅支持读取设置了打开密码的Excel文件,如果是设置了修改权限密码、工作表保护密码,需要调整对应处理逻辑
内容的提问来源于stack exchange,提问作者Gilson Souza
相关产品推荐
相关产品推荐

