Či už máte súvahy, stiahnuté informácie o účte, výpočty daní alebo výplatné pásky, všetky majú tendenciu byť v programe Microsoft Excel. Non-IT profesionáli sa cítia pohodlne pri použití programu Microsoft Excel ako technológie výmeny dát. Jakarta POI (Poor Obfuscation Implementation) API je fantastický spôsob prístupu programátorov Java k prístupu k formátom dokumentov Microsoft. Najzrelejším API od Jakartského POI je HSSF (Horrible Spreadsheet Format) API, ktoré pristupuje k dokumentom Microsoft Excel.
V tomto článku vás prevediem postupmi vytvárania a čítania dokumentov programu Excel a používania písma a štýlov buniek - všetko pomocou jazyka Java.
Poznámka: Zdrojový kód pre všetky príklady v tomto článku si môžete stiahnuť zo stránky Zdroje.
Terminológia POI
Kľúčové pojmy spojené s bodmi POI v Jakarte sú tieto:
- POIFS (súborový systém implementácie slabej obfuskácie): Rozhrania Java API na čítanie a zápis OLE (prepojenie a vkladanie objektov) 2 formáty zložených dokumentov
- HSSF (hrozný formát tabuľky): Java API na čítanie programu Microsoft Excel
- HDF (hrozný formát dokumentu): Java API na čítanie a zápis Microsoft Word 97
- HPSF (formát hrozného súboru nehnuteľností): Java API na čítanie súborov vlastností pomocou (iba) Java
Vytvorte dokument Excel
Jakarta POI API možno použiť na programové vytvorenie dokumentu programu Excel. Dôležitými krokmi sú:
- Vytvorte zošit:
Zošit HSSFWorkbook = nový HSSFWorkbook ();
- Vytvorte nový pracovný hárok v zošite a pomenujte pracovný hárok „Java Excel“:
HSSFSheet sheet = workbook.createSheet ("Java Excel");
- Vytvorte nový riadok v hárku:
HSSFRow riadok = sheet.createRow ((krátky) 0);
- Vytvorte bunku v riadku:
HSSFCell bunka = riadok.createCell ((krátky) 0);
- Vložte nejaký obsah do bunky:
cell.setCellValue ("Majú pohár XL");
- Zapíšte zošit do súborového systému:
workbook.write (fileOutputStream);
Čítanie údajov z dokumentu programu Excel
V tomto príklade uvidíte, ako čítať hodnoty z dokumentu programu Excel.
Predpokladajme, že toto je náš hárok programu Excel:
|
Kľúčové kroky pri čítaní hárku programu Excel sú tieto:
- Vytvorte nový odkaz na dokument Excel:
Zošit HSFWorkbook = nový HSSFWorkbook (nový FileInputStream (fileToBeRead));
. - Pozrite si hárok: Predvolene je prvý hárok v dokumente programu Excel odkazom 0:
List HSSFSheet = workbook.getSheetAt (0);
. Na hárok sa dá odkazovať aj menom. Predpokladajme, že hárok programu Excel má predvolený názov „Hárok1“. Možno ho označiť nasledovne:HSSFSheet sheet = workbook.getSheet ("List1");
. - Odkaz na riadok:
HSSFRow riadok = sheet.getRow (0);
. - Odkaz na bunku v riadku:
HSSFCell bunka = row.getCell ((krátke) 0);
. - Získajte hodnoty v tejto bunke:
cell.getStringCellValue ();
.
Praktický príklad
Teraz predpokladajme, že chceme vidieť zoznam všetkých deklarovaných metód a členských premenných v súbore jar. Ideálne by bolo mať konsolidovaný zoznam všetkých informácií v jednom súbore. Informácie by sme chceli zobraziť tak, aby boli názvy tried v prvom stĺpci, deklarované polia v druhom stĺpci a deklarované metódy v treťom stĺpci, pričom hlavičky stĺpcov boli zobrazené červenou farbou.
Program bude musieť dokončiť tieto činnosti:
- Rozbaľte súbor jar
- Prečítajte si všetky súbory triedy v súbore jar
- Načítajte triedy do súboru jar
- Pomocou reflexie získajte deklarované metódy a polia
- Informácie o triede zapíšte do hárku programu Excel pomocou bodu POI v Jakarte
Poďme sa sústrediť iba na zaujímavé kroky použitia Jakartských POI:
- Vytvorte nový dokument programu Excel:
zošit = nový HSSFWorkbook ();
- Vytvorte v tomto dokumente pracovný hárok a pomenujte ho:
sheet = workbook.createSheet ("Informácie o triede Java");
- Nastavte šírku prvých troch stĺpcov:
sheet.setColumnWidth ((krátke) 0, (krátke) 10 000);
- Vytvorte riadok hlavičky:
HSSFRow riadok = sheet.createRow ((krátky) 0);
- Vytvorte a nastavte štýl písma a bunky:
HSSFFont font = workbook.createFont (); font.setColor (HSSFFont.COLOR_RED); font.setBoldweight (HSSFFont.BOLDWEIGHT_BOLD); // Vytvorenie štýlu HSSFCellStyle cellStyle = workbook.createCellStyle (); cellStyle.setFont (písmo);
- Použite štýl bunky:
HSSFCell bunka = riadok.createCell ((krátky) 0); cell.setCellStyle (cellStyle); cell.setCellType (HSSFCell.CELL_TYPE_STRING); cell.setCellValue ("Názov triedy");
- Napíšte výstupný súbor:
FileOutputStream fOut = nový FileOutputStream (outputFile); // Napísať hárok excelového zošita.write (fOut); fOut.flush (); // Hotovo. Zavri to. fOut.close ();
Zhrnutie
Ako je demonštrované v tomto článku, vývojári Java už nemusia tĺcť údaje v listoch programu Excel. Môžeme programovo pristupovať k dokumentom programu Excel. Dajte si šálku Javy a vynikajte v Exceli!
Elango Sundaram je skúsený programátor v prostredí Java so záujmom o výskum v oblasti architektúry distribuovaných výpočtov, technológie založenej na agentoch a objektovo orientovanej metodiky. Je držiteľom magisterského titulu v odbore počítačových vied na Virginia Tech University a napísal Distribuované výpočtové technológie pomocou aplikácií Jini a Websphere Studio Application Developer Tail Plug-in (pre WSAD 4.0).Získajte viac informácií o tejto téme
- Stiahnite si zdrojový kód, ktorý je priložený k tomuto článku
//images.techhive.com/downloads/idge/imported/article/jvw/2004/03/jw-0322-poi.zip
- Webová stránka POI v Jakarte
//jakarta.apache.org/poi/
- Viac informácií o BZ nájdete v článku „Je to bod záujmu“, Tony Sintes (JavaWorld, Mája 2002)
//www.javaworld.com/javaworld/javaqa/2002-05/01-qa-0503-excel3.html
- Ďalšie nástroje Java nájdete v zozname Vývojové nástroje časť JavaWorld 's Aktuálny index
//www.javaworld.com/channel_content/jw-tools-index.shtml
- Ďalšie články o nástrojoch otvoreného zdroja nájdete v článku Erika Swensona Profil otvoreného zdroja stĺpec
//www.javaworld.com/columns/jw-opensource-index.shtml
Tento príbeh „Vynikajúci v programe Excel s programom Java“ bol pôvodne publikovaný spoločnosťou JavaWorld.