Apache POI HSSF
Knihovna Java pro binární soubory Microsoft Excel
Open Source Java API umožňuje číst, psát a převádět Excel XLS tabulky.
Apache POI HSSF je čistě Java implementace formátu souboru Excel '97(-2007) (BIFF8). Bezplatné open source API poskytuje funkce pro vytváření, čtení, úpravy a psaní Excel XLS tabulek. Vývojáři, kteří se zajímají pouze o čtení tabulkových dat, mohou ke splnění svých potřeb použít rozhraní API modelu událostí. Chcete-li upravit data tabulky, lze použít API uživatelského modelu. Je důležité vědět, že systém s uživatelským modelem má větší paměťovou náročnost než uživatelský model s událostmi na nízké úrovni, ale má hlavní výhodu v tom, že se s ním mnohem snadněji pracuje.
Apache POI HSSF poskytuje skvělou podporu pro další funkce aplikace Excel, jako je práce s listy a vzorci, vytváření stylů buněk vyplněním barev a okrajů, písma, záhlaví a zápatí, tvary, ověřování dat, obrázky, hypertextové odkazy a mnoho dalších.
Začínáme s Apache POI HSSF
Nejprve musíte mít na svém systému nainstalovanou sadu Java Development Kit (JDK). Pokud jej již máte, přejděte na stránku stažení místa zájmu Apache, kde získáte nejnovější stabilní verzi v archivu. Extrahujte obsah souboru ZIP do libovolného adresáře, odkud lze požadované knihovny propojit s vaším programem Java. To je vše!
Odkazování na Apache POI ve vašem projektu Java založeném na Maven je ještě jednodušší. Vše, co potřebujete, je přidat následující závislost do vašeho pom.xml a nechat vaše IDE načíst a odkazovat na soubory Apache POI Jar.
Závislost na Apache POI Maven
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.0.0</version>
</dependency>
Vytvořte sešit aplikace Excel a přidejte listy prostřednictvím rozhraní Java API
Open-source knihovna Apache POI HSSF umožňuje vývojářům softwaru vytvořit nový sešit Microsoft Excel ve formátu XLS. Vývojáři mohou do kolekce snadno přidat nové sešity ze stávající instance sešitu.
Vytvořte nový soubor XLS
// 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 pro čtení a zápis do existujícího souboru aplikace Excel
Apache POI HSSF umožňuje vývojářům softwaru přistupovat a číst data ze stávajícího sešitu Microsoft Excel. Čtení v souboru je velmi jednoduché, nejprve vytvořte instanci sešitu z listu aplikace Excel a přejděte na požadovaný list. Potom zvyšte číslo řádku a iterujte přes všechny buňky v řadě. Opakujte tyto kroky, dokud nebudou načtena všechna data. Apache POI HSSF také poskytuje funkce pro úpravu existujícího souboru aplikace Excel.
Číst obsah buňky přes 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);
Kreslit tvary a přidávat obrázky do tabulky Excel
Apache POI-HSSF poskytuje funkce pro kreslení tvarů v tabulce Excel. Podporuje kreslení tvarů pomocí kreslicích nástrojů Microsoft Office. Nakreslete různé tvary, jako je ovál, čára, obdélník, a nastavte jakékoli další styly tvarů. V Apache POI jsou obrázky součástí výkresu a v tuto chvíli podporují typy obrázků PNG, JPG a DIB.
Nakreslete obdélník v XLS přes 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);
Práce s písmy a slučování buněk tabulek XLS
Apache POI-HSSF poskytuje metody, které umožňují programátorům Java pracovat s písmy v tabulkách aplikace Excel. Můžeme vytvořit písmo, nastavit barvu, nastavit velikost atd. Písmo je rozhraní, které poskytuje metody pro manipulaci s písmem. Apache POI-HSSF také umožňuje vývojářům sloučit buňky do jediné buňky. K tomu poskytuje metody, které berou jako argument indexy buněk a slučují buňky do jedné velké buňky.
Nastavte písmo pro tabulku XLS přes 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);