Gegevens uit een Excel-bestand lezen/schrijven: Selenium POI

Bestands-IO is een cruciaal onderdeel van elk softwareproces. We maken regelmatig een bestand, openen het en werken iets bij of verwijderen het op onze computers. Hetzelfde geldt voor Selenium Automation. We hebben een proces nodig om bestanden met Selenium te manipuleren.

Java biedt ons verschillende klassen voor bestandsmanipulatie met Selenium. In deze tutorial gaan we leren hoe we kunnen lezen en schrijven in Excel-bestanden met behulp van Java IO-pakket en Apache POI-bibliotheek.

Apache POI in Selenium

De Apache POI in Selenium is een veelgebruikte API voor datagedreven testen van selenium. Het is een POI-bibliotheek geschreven in Java die gebruikers een API geeft voor het manipuleren van Microsoft-documenten zoals .xls en .xlsx. Gebruikers kunnen eenvoudig Excel-bestanden maken, wijzigen en lezen/schrijven. POI staat voor Poor Obfuscation Implementation.

Excel exporteren

Hoe om te gaan met Excel-bestanden met behulp van POI (Maven POM Dependency)

Om Excel-bestanden in Java te lezen en te schrijven, biedt Apache een zeer bekende bibliotheek-POI. Deze bibliotheek is capabel genoeg om beide te lezen en te schrijven XLS en XLSX bestandsformaat van Excel.

Lezen XLS bestanden, en HSSF implementatie wordt verzorgd door POI-bibliotheek.

Lezen XLSX, XSSF invoer van DAN bibliotheek zal de keuze zijn. Laten we deze implementaties in detail bestuderen.

Als u Maven in uw project gebruikt, is de Maven-afhankelijkheid:

 org.apache.poi poi 4.1.1 

Of u kunt eenvoudig de nieuwste versie POI-potten downloaden van http://poi.apache.org/download.html & download het nieuwste zip-bestand

Wanneer u het zipbestand voor deze jar downloadt, moet u het uitpakken en deze alle jars toevoegen aan het klassenpad van uw project.

Klassen en interfaces in POI:

Klassen en interfaces in Apache POI



Hieronder volgt een lijst met verschillende Java-interfaces en klassen in: DAN voor lezen XLS en XLSX het dossier-

  • Werkboek : XSSFWorkbook- en HSSFWorkbook-klassen implementeren deze interface.
  • XSSFWerkboek : Is een klassenweergave van het XLSX-bestand.
  • HSSFWerkboek : Is een klassenweergave van een XLS-bestand.
  • Vel : XSSFSheet- en HSSFSheet-klassen implementeren deze interface.
  • XSSFBlad : Is een klasse die een blad in een XLSX-bestand vertegenwoordigt.
  • HSSFBlad : Is een klasse die een blad in een XLS-bestand vertegenwoordigt.
  • Rij : XSSFRow- en HSSFRow-klassen implementeren deze interface.
  • XSSFRow : Is een klasse die een rij vertegenwoordigt in het blad van het XLSX-bestand.
  • HSSFRow : Is een klasse die een rij vertegenwoordigt in het blad van het XLS-bestand.
  • Cel : XSSFCell- en HSSFCell-klassen implementeren deze interface.
  • XSSFcel : Is een klasse die een cel in een rij XLSX-bestanden vertegenwoordigt.
  • HSFCel: Is een klasse die een cel in een rij XLS-bestanden vertegenwoordigt.

Lees/Schrijf bewerking-

Voor ons voorbeeld zullen we het onderstaande Excel-bestandsformaat beschouwen:

Gegevens lezen uit Excel-bestand

Compleet voorbeeld: hier proberen we gegevens uit Excel in Selenium te lezen: |_+_|

Opmerking: we gebruiken niet de Testng kader hier. Voer de klasse uit als Java-toepassing met behulp van de functie read excel in Selenium, zoals weergegeven in het bovenstaande voorbeeld.

Schrijf gegevens op Excel-bestand

Compleet voorbeeld: hier proberen we gegevens uit het Excel-bestand te schrijven door een nieuwe rij toe te voegen aan het Excel-bestand |__+_|

Excel-manipulatie met behulp van JXL API

JXL is ook een andere beroemde pot om Excel-bestanden in Java te lezen en bestanden te schrijven. Tegenwoordig wordt POI in de meeste projecten gebruikt, maar vóór POI was JXL alleen Java API voor Excel-manipulatie. Het is een zeer kleine en eenvoudige API voor Excel-lezen in Selenium.

TIPS: Mijn suggestie is om JXL niet in een nieuw project te gebruiken, omdat de bibliotheek vanaf 2010 niet actief in ontwikkeling is en de functie ontbreekt in vergelijking met POI API.

JXL downloaden:

Als je met JXL wilt werken, kun je het downloaden via deze link

https://sourceforge.net/projects/jexcelapi/files/jexcelapi/2.6.12/

U kunt ook een demovoorbeeld krijgen in dit gecomprimeerde bestand voor JXL.

Enkele van de kenmerken:

  • JXL kan Excel-bestanden lezen in Selenium voor 95, 97, 2000, XP, 2003 werkmap.
  • We kunnen werken met Engels, Frans, Spaans, Duits.
  • Het kopiëren van een grafiek en het invoegen van afbeeldingen in Excel is mogelijk

Nadeel:

  • We kunnen alleen Excel 97 en later schrijven (schrijven in Excel 95 wordt niet ondersteund).
  • JXL ondersteunt geen XLSX-indeling van Excel-bestanden.
  • Het genereert een spreadsheet in Excel 2000-formaat.

Samenvatting:

  • Excel-bestand kan worden gelezen door Java IO-bewerking. Daarvoor moeten we Apache POI Jar .
  • Er zijn twee soorten werkmap in Excel-bestand, XLSX en XLS bestanden.
  • POI heeft verschillende interfaces, werkmap, blad, rij, cel.
  • Deze interfaces worden geïmplementeerd door corresponderende XLS ( HSSFWerkboek, HSSFSheet, HSSFRow, HSSFCell ) en XLSX ( XSSFWorkbook, XSSFSheet, XSSFRow, XSSFCell ) bestandsmanipulatieklassen.
  • JXL is een andere API voor Excel-verwerking in Selenium.
  • JXL kan niet werken met het XLSX-formaat van Excel.