Atvirojo kodo bendruomenė sukūrė daug atvirojo kodo „Java“ projektų, kurie svyruoja nuo schemų programinės įrangos iki žaidimų sistemų iki teksto procesorių. Šiame įraše pristatau atvirojo kodo bibliotekos projektą, skirtą „Microsoft Excel“ skaičiuoklėms skaityti ir rašyti.
Rekomenduojama skaičiuoklių biblioteka
Klausimas: Manęs paprašė išplėsti savo įmonės „Java“ skaičiuoklės programinę įrangą, kad galėčiau skaityti ir rašyti „Excel“ skaičiuokles. Ar galėtumėte rekomenduoti atviro kodo „Java“ biblioteką, kuri man padės atlikti šią užduotį?
A: Galbūt norėsite patikrinti „JExcelAPI“, kuri yra brandi, „Java“ pagrindu sukurta atvirojo kodo biblioteka, leidžianti skaityti, rašyti ir modifikuoti „Excel“ skaičiuokles. Štai keletas jo daugybės funkcijų:
- Skaito duomenis iš „Excel 95“, „97“, „2000“, „XP“ ir „2003“ darbaknygių
- Skaito ir rašo formules (tik „Excel 97“ ir naujesnės versijos)
- Generuoja skaičiuokles „Excel 2000“ formatu
- Palaiko šrifto, skaičiaus ir datos formatavimą
- Palaiko ląstelių šešėliavimą, ląstelių ribojimąsi ir ląstelių spalvinimą
- Pakeičia esamus darbalapius
- Palaiko diagramų kopijavimą
- Palaiko vaizdų įterpimą ir kopijavimą į skaičiuokles
JExcelAPI sukūrė Andrew Kahnas ir jis buvo išleistas pagal GNU Mažosios bendrosios viešosios licencijos licenciją.
Atsisiunčiama JExcelAPI biblioteka
Klausimas: Kaip atsisiųsti „JExcelAPI“?
A: Atlikite šiuos veiksmus norėdami atsisiųsti „JExcelAPI“:
- Nukreipkite naršyklę į „JExcelAPI“ „SourceForge“ svetainę.
- Spustelėkite
jexcelapi
nuoroda. - Gautame puslapyje spustelėkite vieną iš aplanko nuorodų. Pavyzdžiui, spustelėjau
2.6.12
nuoroda. - Gautame puslapyje spustelėkite platinimo archyvo failo pavadinimą. Pavyzdžiui, spustelėjau
jexcelapi_2_6_12.zip
nuoroda. - Po trumpo atidėjimo jūsų naršyklė turėtų paraginti jus išsaugoti šį failą. Pirmyn ir išsaugokite failą.
Po atsisiuntimo išarchyvuokite šį failą. Turėtumėte stebėti a jexcelapi
namų katalogas per jexcelapi_2_6_12
kataloge.
JExcelAPI bibliotekos demonstravimas
Klausimas: Ar JExcelAPI bibliotekoje yra demonstracinių versijų?
A: „JExcelAPI“ jexcelapi
namų kataloge yra a jxl.jar
failas, kuriame yra skaičiuoklių skaitymo, rašymo ir kopijavimo demonstracinės versijos.
Perskaityta demonstracinė versija nuskaito esamą skaičiuoklę, konvertuodama ją į kableliais atskirtą reikšmę (CSV) arba XML formatą naudodama -csv
arba -xml
komandinės eilutės parinktis. Apsvarstykite šiuos pavyzdžius:
java -jar jxl.jar -csv budget.xls java -jar jxl.jar -xml budget.xls
Šie pavyzdžiai perskaityti biudžetas.xls
ir išleisti jo turinį CSV ir XML formatu į standartinę išvestį. Kai nė vienas -csv
nei -xml
yra nurodytas, -csv
daroma prielaida.
Rašymo demonstracinė versija sukuria skaičiuoklės pavyzdį, kuriame yra formulės, kraštinės, vaizdai ir dar daugiau. Ši skaičiuoklė sugeneruojama nurodant -rasyti
komandinės eilutės parinktis, kaip parodyta žemiau:
java -jar jxl.jar -rasyti pavyzdi.xls
1 paveiksle parodyta dalis gauto rezultato pavyzdys.xls
skaičiuoklė.
1 paveikslas. Norėdamas patekti į skaičiuoklę sample.xls, naudojau „LibreOffice Calc“
Kopija demonstracinė kopija skaičiuoklės pavyzdys jxlrwtest.xls
, kuris saugomas tame pačiame kataloge kaip jxl.jar
, į naują skaičiuoklę. Gautoje skaičiuoklėje pirmasis lapas (originalas) yra nepakitęs, o antrame (modifikuotas) yra pakeistos vertės.
Ši demonstracinė versija sukuriama nurodant -rw
komandinės eilutės parinktis, po kurios eina jxlrwtest.xls
ir išvesties skaičiuoklės pavadinimas. Apsvarstykite šią komandinę eilutę:
java -jar jxl.jar -rw jxlrwtest.xls copy.xls
Ši komandinė eilutė nukopijuojama jxlrwtest.xls
į kopija.xls
. 2 paveiksle parodytas antrasis (modifikuotas) „LibreOffice Calc“ lapas.
2 paveikslas. Spustelėkite pradinius ir modifikuotus skirtukus, kad peržiūrėtumėte originalius ir modifikuotus lapus
Įskaitant JExcelAPI kompiliavimui ir vykdymui
Klausimas: Kaip įtraukti JExcelAPI kuriant šaltinio kodą ir vykdant programą?
A: Norėdami įtraukti „JExcelAPI“ kurdami šaltinio kodą ir vykdydami programą, atlikite vieną iš šių veiksmų:
- Pridėti
jexcelapi
namų katalogojxl.jar
failą įCLASSPATH
aplinkos kintamasis. - Įtraukti
jxl.jar
perjavac
irjava
programos-cp
komandinės eilutės parinktis.
Programavimas naudojant JExcelAPI
Klausimas: Kaip sukurti „Java“ programas, naudojančias „JExcelAPI“?
A: jexcelapi
namų kataloge yra a pamoka.html
failas, kuriame pateikiama pagrindinė programavimo su JExcelAPI pamoka. Pamoka parodo, kaip skaityti, rašyti ir kopijuoti skaičiuokles. Pamokoje taip pat aptariamas formatavimas.
jexcelapi
taip pat apima a dokumentai
pakatalogis, kuris suteikia prieigą prie išsamių API dokumentų. Nukreipkite savo žiniatinklio naršyklę į šį katalogą index.html
failą ir galite ištirti šios bibliotekos keturių dokumentuotų paketų tipus:
jxl
: pagrindinio paketo tipaijxl.demo
: įvairių demonstracinių versijų tipaijxl.formatas
: tipai, susiję su formatavimujxl.rasyti
: tipai, skirti rašyti į skaičiuoklę
Atminkite, kad šis sąrašas nėra išsamus. Papildomos pakuotės, tokios kaip jxl.skaityti
yra, bet nėra dokumentais patvirtinti. Norėdami sužinoti apie papildomus paketus, vykdykite stiklainis tvf jxl.jar
ir išnagrinėkite pakuotės informaciją gautame JAR sąraše.
Kad galėčiau lengviau naudotis „JExcelAPI“, sukūriau paprastą „JExcelAPIDemo“
programa, rodanti, kaip sukurti naują skaičiuoklę, išsaugotą produkcija.xls
tada perskaitydamas ir išleisdamas šios skaičiuoklės turinį. Peržiūrėkite 1 sąrašą.
Sąrašai 1. Paprastos skaičiuoklės rašymas ir skaitymas
importuoti java.io.File; importuoti java.io.IOException; importuoti jxl.Cell; importuoti jxl.Sheet; importuoti jxl.Darbo knyga; importuoti jxl.read.biff.BiffException; importuoti jxl.write.Label; importuoti jxl.write.Number; importuoti jxl.write.WritableSheet; importuoti jxl.write.WritableWorkbook; importuoti jxl.write.WriteException; public class JExcelAPIDemo {public static void main (String [] args) meta BiffException, IOException, WriteException {WritableWorkbook wworkbook; wworkbook = Workbook.createWorkbook (naujas failas ("output.xls")); WritableSheet wsheet = wworkbook.createSheet ("Pirmasis lapas", 0); Etiketės etiketė = nauja etiketė (0, 2, "A label record"); wsheet.addCell (etiketė); Skaičiaus numeris = naujas skaičius (3, 4, 3.1459); wsheet.addCell (skaičius); darbo knyga.rasyti (); darbo knyga.uždaryti (); Darbaknygės darbaknygė = Workbook.getWorkbook (new File ("output.xls")); Lapo lapas = darbaknygė.getSheet (0); Ląstelės langelis1 = sheet.getCell (0, 2); System.out.println (cell1.getContents ()); Ląstelės ląstelė2 = sheet.getCell (3, 4); System.out.println (cell2.getContents ()); darbaknygė.uždaryti (); }}
1 sąrašas pirmiausia sukuria rašomą darbaknygę, pasitelkdamas vieną iš Darbaknygė
gamyklos metodai. Tada šiai darbaknygei sukuriamas rašomasis lapas, tada etiketė ir skaičius pridedami kaip dviejų lapo langelių vertės. Tada darbo knyga parašoma ir uždaroma.
1 sąrašas tęsiamas gavus susietą darbaknygę produkcija.xls
ir skaitydamas jos turinį. „getSheet“ ()
metodas suteikia prieigą prie pirmojo šios darbaknygės lapo. Jo „getCell“ ()
metodas yra vadinamas prieigai prie dviejų langelių, kurių turinys tada išvedamas.
Tariant, kad jxl.jar
yra dabartiniame kataloge, atlikite šią komandą, kad sukompiluotumėte 1 sąrašą:
javac -cp jxl.jar JExcelAPIDemo.java
Darant prielaidą, kad pavyks, vykdykite šią komandą „JExcelAPIDemo“
:
java -cp jxl.jar ;. „JExcelAPIDemo“
Turėtumėte stebėti šį rezultatą:
Etiketės įrašas 3.146
3 paveiksle parodyta produkcija.xls
„LibreOffice“ kontekste.
3 pav. Atskirame lape pateikiamos dvi langelių vertės
Kas toliau?
Kitą kartą pateikiu galvosūkių rinkinį, kuriame kalbama apie „Java“ bibliotekų raidą. Šie galvosūkiai sutelkia dėmesį į kliento programų ir bibliotekų, kurias naudoja šios programos, šaltinio ir dvejetainių kodų suderinamumą.
atsisiųsti Atsisiųskite šaltinį Gaukite šio įrašo programų šaltinio kodą. Sukūrė Jeffas Friesenas, skirtas „JavaWorld“Kuriant pašto kodą buvo naudojama ši programinė įranga:
- 64 bitų „JDK 7u6“
- JExcelAPI 2.6.12
Pašto kodas buvo išbandytas šioje platformoje (-ose):
- JVM 64 bitų „Windows 7 SP1“
Šią istoriją „Excel skaičiuoklių skaitymas ir rašymas“ iš pradžių paskelbė „JavaWorld“.