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