Programování

Excelentní v Excelu s Javou

Ať už máte rozvahy, stahování informací o účtu, výpočty daní nebo výplatní pásky, všechny obvykle přicházejí v aplikaci Microsoft Excel. Non-IT profesionálové se cítí pohodlně používat Microsoft Excel jako technologii pro výměnu dat. Jakarta POI (Poor Obfuscation Implementation) API je fantastický způsob, jak mohou programátoři Java přistupovat k formátům dokumentů Microsoft. Nejzralejší API z Jakartského POI je HSSF (Horrible Spreadsheet Format) API, které přistupuje k dokumentům Microsoft Excel.

V tomto článku vás provedu kroky pro vytváření a čtení dokumentů aplikace Excel a pro používání písem a stylů buněk - vše pomocí jazyka Java.

Poznámka: Zdrojový kód pro všechny příklady v tomto článku si můžete stáhnout ze zdrojů.

Terminologie POI

Klíčové pojmy spojené s bodem POI v Jakartě jsou následující:

  • POIFS (Poor Obfuscation Implementation File System): Java API pro čtení a zápis OLE (Object Linking and Embedding) 2 formáty složených dokumentů
  • HSSF (hrozný formát tabulky): Java API pro čtení Microsoft Excel
  • HDF (hrozný formát dokumentu): Java API pro čtení a zápis Microsoft Word 97
  • HPSF (Horrible Property Set Format): Java API pro čtení sad vlastností pomocí (pouze) Javy

Vytvořte dokument aplikace Excel

Jakarta POI API lze použít k programovému vytvoření dokumentu aplikace Excel. Jedná se o důležité kroky:

  • Vytvořit sešit: Sešit HSSFWorkbook = nový HSSFWorkbook ();
  • Vytvořte nový sešit v sešitu a pojmenujte jej "Java Excels": List HSSFSheet = workbook.createSheet ("Java Excel");
  • Vytvořte nový řádek v listu: HSSFRow řádek = sheet.createRow ((short) 0);
  • Vytvořte buňku v řádku: HSSFCell buňka = row.createCell ((short) 0);
  • Vložte nějaký obsah do buňky: cell.setCellValue ("Have a Cup of XL");
  • Napište sešit do souborového systému: workbook.write (fileOutputStream);

Čtení dat z dokumentu aplikace Excel

V tomto příkladu uvidíte, jak číst hodnoty z dokumentu aplikace Excel.

Předpokládejme, že toto je náš Excel list:

jméno zaměstnanceSpecializaceOznačení
AnbuProgramováníSenior programátor
JasoneBankovní průmyslObchodní analytik
RameshDatabázeDBA
MackyBÚčetnictvíDodací hlava

Klíčové kroky při čtení listu aplikace Excel jsou následující:

  • Vytvořit nový odkaz na dokument Excel: Sešit HSFWorkbook = nový HSSFWorkbook (nový FileInputStream (fileToBeRead));.
  • Viz list: Ve výchozím nastavení je první list v dokumentu Excel odkazem 0: List HSSFSheet = workbook.getSheetAt (0);. Na list lze také odkazovat jménem. Předpokládejme, že list aplikace Excel má výchozí název „List1“. Lze jej označit následovně: HSSFSheet sheet = workbook.getSheet ("List1");.
  • Odkaz na řádek: HSSFRow řádek = sheet.getRow (0);.
  • Odkaz na buňku v řádku: HSSFCell buňka = row.getCell ((short) 0);.
  • Získejte hodnoty v této buňce: cell.getStringCellValue ();.

Praktický příklad

Nyní předpokládejme, že chceme zobrazit seznam všech deklarovaných metod a členských proměnných v souboru jar. Ideální by bylo mít konsolidovaný seznam všech informací v jednom souboru. Chtěli bychom zobrazit informace tak, aby názvy tříd byly v prvním sloupci, deklarovaná pole ve druhém sloupci a deklarované metody ve třetím sloupci, přičemž záhlaví sloupců se zobrazovala červeně.

Program bude muset dokončit následující činnosti:

  • Rozbalte soubor jar
  • Přečtěte si všechny soubory třídy v souboru jar
  • Načtěte třídy do souboru jar
  • Pomocí reflexe získáte deklarované metody a pole
  • Napište informace o třídě do listu Excel pomocí POI v Jakartě

Soustřeďme se jen na zajímavé kroky využití Jakartských POI:

  • Vytvořte nový dokument aplikace Excel: workbook = new HSSFWorkbook ();
  • Vytvořte list v tomto dokumentu a pojmenujte jej: sheet = workbook.createSheet ("Informace o třídě Java");
  • Nastavte šířku prvních tří sloupců: sheet.setColumnWidth ((krátké) 0, (krátké) 10 000);
  • Vytvořte řádek záhlaví: HSSFRow řádek = sheet.createRow ((short) 0);
  • Vytvořte a nastavte styl písma a buňky:
     HSSFFont font = workbook.createFont (); font.setColor (HSSFFont.COLOR_RED); font.setBoldweight (HSSFFont.BOLDWEIGHT_BOLD); // Vytvořit styl HSSFCellStyle cellStyle = workbook.createCellStyle (); cellStyle.setFont (písmo); 
  • Použijte styl buňky:
     HSSFCell buňka = row.createCell ((short) 0); cell.setCellStyle (cellStyle); cell.setCellType (HSSFCell.CELL_TYPE_STRING); cell.setCellValue ("Název třídy"); 
  • Napište výstupní soubor:
     FileOutputStream fOut = nový FileOutputStream (outputFile); // Napište sešit listu Excel. Psát (fOut); fOut.flush (); // Hotový obchod. Zavři to. fOut.close (); 

souhrn

Jak je ukázáno v tomto článku, vývojáři prostředí Java již nemusí táhnout na data v listech aplikace Excel. Můžeme programově přistupovat k dokumentům Excel. Pořiďte si šálek Java a excelujte v Excelu!

Elango Sundaram je zkušený programátor prostředí Java se zájmem o výzkum v oblasti distribuované výpočetní architektury, technologie založené na agentech a objektově orientované metodiky. Vystudoval počítačovou vědu na Virginia Tech University a napsal Distribuované výpočty pomocí Jini a Websphere Studio Application Developer Tail Plug-in (pro WSAD 4.0).

Další informace o tomto tématu

  • Stáhněte si zdrojový kód, který je přiložen k tomuto článku

    //images.techhive.com/downloads/idge/imported/article/jvw/2004/03/jw-0322-poi.zip

  • Webové stránky POI v Jakartě

    //jakarta.apache.org/poi/

  • Další informace o POI si přečtěte „Je to POI-fect“, Tony Sintes (JavaWorld, Květen 2002)

    //www.javaworld.com/javaworld/javaqa/2002-05/01-qa-0503-excel3.html

  • Další nástroje Java najdete na webu Vývojové nástroje část JavaWorld 's Aktuální rejstřík

    //www.javaworld.com/channel_content/jw-tools-index.shtml

  • Další články o nástrojích open source najdete v článku Erika Swensona Profil otevřeného zdroje sloupec

    //www.javaworld.com/columns/jw-opensource-index.shtml

Tento příběh „Excelující v Excelu s Javou“ původně publikoval JavaWorld.