Apache POI HSSF
Java-bibliotheek voor Microsoft Excel-binaire bestanden
Open Source Java API maakt het mogelijk om Excel XLS-spreadsheets te lezen, schrijven en converteren.
Apache POI HSSF is een pure Java-implementatie van het Excel '97(-2007) bestandsformaat (BIFF8). De gratis open source API biedt functies voor het maken, lezen, wijzigen en schrijven van Excel XLS-spreadsheets. Ontwikkelaars die alleen spreadsheetgegevens willen lezen, kunnen de gebeurtenismodel-API gebruiken om aan hun behoeften te voldoen. Om spreadsheetgegevens te wijzigen, kan de gebruikersmodel-API worden gebruikt. Het is belangrijk om te weten dat het gebruikersmodelsysteem een grotere geheugenvoetafdruk heeft dan het gebeurtenisgebruikersmodel op laag niveau, maar het grote voordeel heeft dat het veel eenvoudiger is om mee te werken.
Apache POI HSSF biedt geweldige ondersteuning voor extra Excel-functies, zoals het werken met werkbladen en formules, het maken van celstijlen door kleuren en randen, lettertypen, kop- en voetteksten, vormen, gegevensvalidaties, afbeeldingen, hyperlinks en nog veel meer te vullen.
Aan de slag met Apache POI HSSF
Allereerst moet u de Java Development Kit (JDK) op uw systeem hebben geïnstalleerd. Als je het al hebt, ga dan naar de Apache POI's download pagina om de laatste stabiele release in een archief te krijgen. Pak de inhoud van het ZIP-bestand uit in een willekeurige map van waaruit de benodigde bibliotheken aan uw Java-programma kunnen worden gekoppeld. Dat is alles!
Verwijzen naar Apache POI in uw op Maven gebaseerde Java-project is nog eenvoudiger. Het enige dat u nodig hebt, is de volgende afhankelijkheid toe te voegen aan uw pom.xml en uw IDE de Apache POI Jar-bestanden te laten ophalen en ernaar te laten verwijzen.
Apache POI Maven-afhankelijkheid
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.0.0</version>
</dependency>
Excel-werkmap maken en bladen toevoegen via Java-API's
Apache POI HSSF open-source bibliotheek stelt softwareontwikkelaars in staat om een nieuwe Microsoft Excel-werkmap te maken in XLS-bestandsindeling. Ontwikkelaars kunnen eenvoudig nieuwe werkbladen aan de collectie toevoegen vanuit een bestaande instantie van Workbook.
Een nieuw XLS-bestand maken
// create a new workbook
Workbook workbook = new HSSFWorkbook();
OutputStream outputStream = new FileOutputStream("CreateXls.xls");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// set cell value
cell.setCellValue("File Format Developer Guide");
// save file
workbook.write(outputStream);
Java API om naar bestaand Excel-bestand te lezen en te schrijven
Apache POI HSSF stelt softwareontwikkelaars in staat om gegevens uit de bestaande Microsoft Excel-werkmap te openen en te lezen. Het inlezen van een bestand is heel eenvoudig, maak eerst een werkmapinstantie van een Excel-werkblad en ga naar het gewenste blad. Verhoog vervolgens het rijnummer en herhaal alle cellen in een rij. Herhaal deze stappen totdat alle gegevens zijn gelezen. Apache POI HSSF biedt ook functies voor het wijzigen van een bestaand Excel-bestand.
Lees celinhoud via Java
// open xls file
InputStream inputStream = new FileInputStream("document.xls");
Workbook workbook = WorkbookFactory.create(inputStream);
// get sheet
Sheet sheet = workbook.getSheetAt(0);
// get row
Row row = sheet.getRow(1);
// get cell
Cell cell = row.getCell(1);
// display data
System.out.println(cell);
Vormen tekenen en afbeeldingen toevoegen aan Excel-spreadsheet
Apache POI-HSSF biedt functies voor het tekenen van vormen in Excel-spreadsheet. Het ondersteunt het tekenen van vormen met behulp van Microsoft Office-tekenhulpmiddelen. Teken verschillende vormen zoals ovaal, lijn, rechthoek en stel andere vormstijlen in. In Apache POI maken afbeeldingen deel uit van de tekening en ondersteunen momenteel PNG-, JPG- en DIB-typen afbeeldingen.
Teken rechthoek in XLS via Java
// create a new workbook
Workbook workbook = new HSSFWorkbook();
OutputStream outputStream = new FileOutputStream("DrawShape.xls");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// create rectangle shape
HSSFPatriarch patriarch = (HSSFPatriarch) sheet.createDrawingPatriarch();
HSSFClientAnchor a = new HSSFClientAnchor(0, 0, 1023, 254, (short) 1, 0, (short) 1, 0);
HSSFSimpleShape shape = patriarch.createSimpleShape(a);
shape.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE);
// save file
workbook.write(outputStream);
Verwerking en samenvoeging van cellen van XLS-spreadsheets
Apache POI-HSSF biedt methoden waarmee Java-programmeurs lettertypen in Excel-spreadsheets kunnen verwerken. We kunnen het lettertype maken, de kleur instellen, de grootte instellen, enz. Het lettertype is een interface die methoden biedt om met het lettertype om te gaan. Apache POI-HSSF stelt ontwikkelaars ook in staat cellen samen te voegen tot een enkele cel. Om dit te doen, biedt het methoden die celindexen als argument gebruiken en de cellen samenvoegen tot een enkele grote cel.
Lettertype instellen voor XLS-spreadsheet via Java
// create a new XLS file
OutputStream outfile = new FileOutputStream("SetFont.xls");
Workbook wb = new HSSFWorkbook();
// create a new sheet
Sheet sheet = wb.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// set style
CellStyle style = wb.createCellStyle();
// set text
cell.setCellValue("File Format Developer Guide");
// set font settings
Font font = wb.createFont();
font.setFontHeightInPoints((short) 14);
font.setFontName("Arial");
font.setItalic(true);
font.setBold(true);
// apply font
style.setFont(font);
cell.setCellStyle(style);
// save
wb.write(outfile);