Jiří Hradil blog

o software


Jakarta POI: Práce s Excel a Word dokumenty v Javě

Práci s MS Office soubory v Javě nám jistě usnadní framework Jakarta POI.

POI obsahuje tyto komponenty:

POIFS - port OLE 2 Compound Document format, na tomto portu jsou založeny všechny následující komponenty.
HSSF - port MS Excel 97-2002 do Javy. Podporuje čtení souborů a jejich zápis.
HWPF - port MS Word 97-2002. Podporuje čtení a zápis. Tato komponenta je v ranné fázi vývoje a je zpřístupěna jen přes CVS.
HPSF - port pro nastavení vlastností souborů (jméno dokumentu, autor, datum poslední modifikace). Zatím podporuje pouze čtení těchto vlastností.

Pro ukázku možností si jednoduše vygenerujeme MS Excel soubor:


import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.*;

/**
 * Vytvoreni testovaciho MS Excel souboru pomoci Jakarta POI
 * (http://jakarta.apache.org/poi/)
 * @author  Jirka Hradil
 */
public class TestExcelSouboru {

    /**
     * @param args ignorovano
     */
    public static void main(String[] args) throws Exception {
        HSSFWorkbook sesit = new HSSFWorkbook(); //novy MS Excel sesit
        HSSFCellStyle styl = sesit.createCellStyle(); //novy styl
        HSSFSheet list = sesit.createSheet(); //novy list v sesitu
        HSSFRow prvniRadek = list.createRow(0); //vytvorime radek
        HSSFCell prvniBunka = prvniRadek.createCell((short) 0); //a v radku bunku

        //nastavime kodovani bunky na UTF
        prvniBunka.setEncoding(HSSFCell.ENCODING_UTF_16);
        //pojmenujeme prvni list
        sesit.setSheetName(0, "žluťoučký kůň", HSSFWorkbook.ENCODING_UTF_16);

        //pridame text do bunky
        prvniBunka.setCellValue("Příliš žluťoučký kůň úpěl ďábelské ódy!");

        //stylu nastavime pattern-jednolita barva
        styl.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        //nastavime barvu stylu, zluta barva
        styl.setFillForegroundColor(HSSFColor.YELLOW.index);

        prvniBunka.setCellStyle(styl); //a priradime styl bunce

        //stream pro vystup
        FileOutputStream vystup = new FileOutputStream("c:/vystup.xls");

        sesit.write(vystup); //zapiseme vystup do souboru
    }
}

ODKAZY:
Jakarta POI
Jakarta POI HSSF: Excell-ové tabulky v kostce
Jakarta POI 2.0 FINAL

Publikoval Jiří Hradil • 22.05.2004 v 18:05 • pod kategorií Nezařazené

No comments yet.

Komentovat

Security Code: