1. Produkter
  2.   Regneark
  3.   Java
  4.   Apache POI-XSSF 

Apache POI-XSSF 

 
 

Open Source Java API til Microsoft® Excel XLSX-filer

Opret, rediger og konverter Excel XLSX-regneark til CSV- og HTML-filformater via Java Library.

Hvad er Apache POI-XSSF?

Apache POI-XSSF er en ren Java-implementering af Excel 2007 XLSX-filformatet. API'en indeholder procedurer til oprettelse, læsning, ændring og skrivning af Excel XLSX-filer. Det giver strukturer på lavt niveau til dem med særlige behov. Det giver også en hændelsesmodel API til effektiv skrivebeskyttet adgang samt en komplet brugermodel API til at oprette, læse og ændre XLSX-filer. Apache POI-XSSF giver fantastisk understøttelse af yderligere excel-funktioner, såsom at arbejde med ark, formler, skabe celletypografier ved at udfylde farver og kanter, skrifttyper, sidehoveder og sidefødder, figurer, datavalideringer, billeder, hyperlinks og mange flere.

Previous Next

Kom godt i gang med Apache POI XSSF

Først og fremmest skal du have Java Development Kit (JDK) installeret på dit system. Hvis du allerede har det, så fortsæt til Apache POI's download-side for at få den seneste stabile udgivelse i et arkiv. Udpak indholdet af ZIP-filen i en hvilken som helst mappe, hvorfra de nødvendige biblioteker kan linkes til dit Java-program. Det er alt!

Det er endnu nemmere at henvise til Apache POI i dit Maven-baserede Java-projekt. Alt du behøver er at tilføje følgende afhængighed i din pom.xml og lade din IDE hente og referere til Apache POI Jar-filer.

Apache POI Maven afhængighed

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.0</version>
</dependency>

Opret store Excel-regneark ved hjælp af Java API

Apache POI XSSF tilbyder fodaftryk med lav hukommelse via SXSSF API til håndtering af store dataskrivninger til MS Excel-filer. Dette gør det muligt at skrive meget store filer uden at løbe tør for hukommelse, da kun en konfigurerbar del af rækkerne opbevares i hukommelsen til enhver tid. POI-SXSSF opnår sit lave hukommelsesfodaftryk ved at begrænse adgangen til de rækker, der er inden for et glidende vindue, mens XSSF giver adgang til alle rækker i dokumentet. Ældre rækker, der ikke længere er i vinduet, bliver utilgængelige, da de skrives til disken. Du kan oprette en stor excel-fil i java ved at bruge følgende trin

Opret stor Excel-fil ved hjælp af Java

  1. Opret en ny SXSSFWorkbook og behold 100 rækker i hukommelsen, overskridende rækker vil blive tømt til disken
  2. Opret et nyt regneark ved hjælp af createSheet()-metoden
  3. Indsæt data i 2000 rækker og 2000 celler ved at bruge createRow(), createCell() og setCellValue("Dine data") inde og en indlejret løkke
  4. Gem fil ved hjælp af FileOutputStream() og pass output filnavn
  5. Skriv til fil ved hjælp af SXSSFWorkbook.Write() metoden og send FileOutputStream som en parameter

Opret en stor Excel-fil

// create a new SXSSFWorkbook
SXSSFWorkbook wb = new SXSSFWorkbook(100);
Sheet sh = wb.createSheet();
// insert 2000 rows
for(int rownum = 0; rownum < 2000; rownum++){
    Row row = sh.createRow(rownum);
    // insert data in 20000 cells
    for(int cellnum = 0; cellnum < 10; cellnum++){
    Cell cell = row.createCell(cellnum);
    cell.setCellValue("Row Number: "+ rownum + " Cell Number: "+ cellnum);
    }
}
// save file
FileOutputStream out = new FileOutputStream("LargeDcument.xlsx");
wb.write(out);
out.close();

Java API'er til Excel-projektmappeoprettelse og tilføjelse af ark

Apache POI XSSF gør det muligt for computerprogrammører at oprette en ny Excel-projektmappe i XLSX-filformat. Når udviklere har oprettet projektmappen, oprettes arbejdsark fra en eksisterende forekomst af projektmappen, og det nyoprettede ark tilføjes automatisk i rækkefølge til projektmappen.

Opret Excel-projektmappe og tilføj ark

// create a new XLSX file
Workbook workbook = new XSSFWorkbook();
OutputStream outputStream = new FileOutputStream("CreateXlsx.xlsx");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new sheet
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);

Konverter et Excel-regneark til CSV og andet filformat

Java-udviklere og programmører kan nemt konvertere et Excel-regneark til et CSV-filformat ved hjælp af Apache POI XSSF API. CSV står for Comma-Separated-Values og er et meget almindeligt format, der bruges til at udveksle data mellem mange applikationer. For det første skal udviklere læse input XLS-filen ved hjælp af Apache POI XSSF API og derefter skrive udtrukket information til CSV-filer.

Konverter XLSX til CSV

// Open and existing XLSX file
FileInputStream fileInStream = new FileInputStream("LargeDocument.xlsx");
XSSFWorkbook workBook = new XSSFWorkbook(fileInStream);
XSSFSheet selSheet = workBook.getSheetAt(0);
// Loop through all the rows
Iterator rowIterator = selSheet.iterator();
while (rowIterator.hasNext()) {
    Row row = rowIterator.next();
    // Loop through all rows and add ","
    Iterator cellIterator = row.cellIterator();
    StringBuffer stringBuffer = new StringBuffer();
    while (cellIterator.hasNext()) {
    Cell cell = cellIterator.next();
    if (stringBuffer.length() != 0) {
        stringBuffer.append(",");
    }
    stringBuffer.append(cell.getStringCellValue());
    }
    System.out.println(stringBuffer.toString());
}
workBook.close();

XSSF-forbedring til sidehoveder og sidefødder

Apache POI XSSF har evnen til at håndtere første side sidehoveder og sidefødder, samt lige/ulige sidehoveder og sidefødder. Sidehoveder og sidefødder er en meget vigtig del af et Excel-regneark. Den indeholder normalt ekstra information såsom datoer, sidetal, forfatterens navn og fodnoter, som hjælper med at holde længere dokumenter organiseret og nemmere at læse. Alle egenskabsflag for sidehoved/sidefod kan håndteres i XSSF. Den ulige sidehoved og sidefod er standardhovedet og sidefoden. Det vises på alle sider, der ikke viser hverken en første sides sidehoved eller en lige sides overskrift.

Sammenfletning af celler og tekstudtrækning i Excel XLSX-filer

Apache POI XSSF giver mulighed for, at Java-programmører kan flette flere celler til en enkelt celle i et Excel-regneark. Det har inkluderet metoder, der tager celleindekser som et argument og flette cellerne til en enkelt stor celle. En af de mest krævende funktioner er muligheden for at udtrække tekst fra en XLSX-fil og bruge den efter dine behov. Apache POI har leveret grundlæggende tekstudtræk til alle de projektunderstøttede filformater. Til avancerede tekstudtræksbehov, herunder Rich Text-udtrækning (såsom formatering og styling), sammen med XML- og HTML-output, arbejder Apache POI tæt sammen med Apache Tika for at levere POI-drevne Tika Parsere til alle de projektunderstøttede filformater.

 Dansk