Programmēšana

Excel izklājlapu lasīšana un rakstīšana

Atvērtā koda kopiena ir izveidojusi daudzus atvērtā koda Java projektus, sākot no kartēšanas programmatūras līdz spēļu ietvariem un tekstu procesoriem. Šajā ierakstā es iepazīstinu ar atvērtā koda bibliotēkas projektu Microsoft Excel izklājlapu lasīšanai un rakstīšanai.

Ieteikt izklājlapu bibliotēku

J: Man ir lūgts paplašināt sava uzņēmuma Java bāzes izklājlapu programmatūru, lai lasītu un rakstītu Excel izklājlapas. Vai varat ieteikt atvērtā koda Java bibliotēku, kas man palīdzēs šajā uzdevumā?

A: Iespējams, vēlēsities apskatīt JExcelAPI, kas ir nobriedusi Java balstīta atvērtā pirmkoda bibliotēka, kas ļauj lasīt, rakstīt un modificēt Excel izklājlapas. Šeit ir dažas no tās daudzajām funkcijām:

  • Izlasa datus no Excel 95, 97, 2000, XP un 2003 darbgrāmatām
  • Lasa un raksta formulas (tikai Excel 97 un jaunākas versijas)
  • Ģenerē izklājlapas Excel 2000 formātā
  • Atbalsta fonta, numura un datuma formatēšanu
  • Atbalsta šūnu ēnojumu, šūnu ierobežošanu un šūnu krāsošanu
  • Modificē esošās darblapas
  • Atbalsta diagrammu kopēšanu
  • Atbalsta attēlu ievietošanu un kopēšanu izklājlapās

JExcelAPI izstrādāja Endrjū Kāns, un tas tika izlaists ar GNU Mazākās vispārējās publiskās licences palīdzību.

JExcelAPI bibliotēkas lejupielāde

J: Kā es varu lejupielādēt JExcelAPI?

A: Lai lejupielādētu JExcelAPI, veiciet šīs darbības:

  1. Novietojiet pārlūkprogrammu uz JExcelAPI vietni SourceForge.
  2. Noklikšķiniet uz jexcelapi saite.
  3. Rezultāta lapā noklikšķiniet uz vienas no mapes saitēm. Piemēram, es noklikšķināju uz 2.6.12 saite.
  4. Rezultāta lapā noklikšķiniet uz izplatīšanas arhīva faila nosaukuma. Piemēram, es noklikšķināju uz jexcelapi_2_6_12.zip saite.
  5. Pēc neilgas kavēšanās pārlūkprogrammai vajadzētu pamudināt jūs saglabāt šo failu. Iet uz priekšu un saglabājiet failu.

Pēc lejupielādes atarhivējiet šo failu. Jums jāievēro a jexcelapi mājas direktoriju a jexcelapi_2_6_12 direktorijā.

JExcelAPI bibliotēkas demonstrēšana

J: Vai JExcelAPI bibliotēkā ir kādas demonstrācijas?

A: JExcelAPI jexcelapi mājas direktorijā ir a jxl.jar fails, kas satur demonstrācijas izklājlapu lasīšanai, rakstīšanai un kopēšanai.

Izlasītajā demonstrācijā tiek nolasīta esoša izklājlapa, pārveidojot to komatatdalītās vērtības (CSV) vai XML formātā, izmantojot -csv vai -xml komandrindas opcija. Apsveriet šādus piemērus:

java -jar jxl.jar -csv budget.xls java -jar jxl.jar -xml budget.xls

Šie piemēri ir lasāmi budžets.xls un izvadīt tā saturu CSV un XML formātā uz standarta izvadi. Kad ne viens, ne otrs -csv ne arī -xml ir norādīts, -csv tiek pieņemts.

Rakstīšanas demonstrācija izveido izklājlapas paraugu, kas ietver formulas, apmales, attēlus un daudz ko citu. Šī izklājlapa tiek ģenerēta, norādot -uzraksti komandrindas opcija, kā parādīts zemāk:

java -jar jxl.jar -rakstiet paraugu.xls

1. attēlā parādīta iegūtā daļa paraugs.xls izklājlapu.

1. attēls. Lai piekļūtu izklājlapai sample.xls, es izmantoju LibreOffice Calc

Kopēt demonstrāciju kopē izklājlapas paraugu jxlrwtest.xls, kas tiek glabāts tajā pašā direktorijā kā jxl.jar, uz jaunu izklājlapu. Rezultātā izklājlapā pirmā lapa (oriģināls) netiek mainīta, bet otrā lapa (modificēta) satur mainītas vērtības.

Šī demonstrācija tiek ģenerēta, norādot -rw komandrindas opcija, kurai seko jxlrwtest.xls un izvades izklājlapas nosaukums. Apsveriet šādu komandrindu:

java -jar jxl.jar -rw jxlrwtest.xls copy.xls

Šī komandrinda tiek kopēta jxlrwtest.xls uz copy.xls. 2. attēlā parādīta LibreOffice Calc otrā (modificētā) lapa.

2. attēls. Noklikšķiniet uz oriģinālās un modificētās cilnes, lai skatītu oriģinālās un modificētās lapas

Ieskaitot JExcelAPI kompilēšanai un izpildei

J: Kā iekļaut JExcelAPI, sastādot pirmkodu un palaižot lietojumprogrammu?

A: Lai iekļautu JExcelAPI, sastādot avota kodu un palaižot lietojumprogrammu, rīkojieties šādi:

  • Pievienojiet jexcelapi mājas direktorija jxl.jar failu jūsu CLASSPATH vides mainīgais.
  • Iekļaut jxl.jar caur javac un java programmas -cp komandrindas opcija.

Programmēšana ar JExcelAPI

J: Kā es varu izveidot Java programmas, kas izmanto JExcelAPI?

A: The jexcelapi mājas direktorijā ir a tutorial.html fails, kas piedāvā pamata apmācību par programmēšanu ar JExcelAPI. Apmācība parāda, kā lasīt, rakstīt un kopēt izklājlapas. Apmācībā tiek apspriests arī formatējums.

jexcelapi ietver arī a dokumenti apakšdirektorijs, kas nodrošina piekļuvi plašai API dokumentācijai. Novietojiet tīmekļa pārlūkprogrammu uz šo direktoriju index.html failu, un jūs varat izpētīt veidus šīs bibliotēkas četrās dokumentētajās paketēs:

  • jxl: galvenās paketes veidi
  • jxl.demo: dažādu demo veidu veidi
  • jxl.format: veidi, kas saistīti ar formatēšanu
  • jxl.write: veidi rakstīšanai izklājlapā

Ņemiet vērā, ka šis saraksts nav pilnīgs. Papildu paketes, piemēram, jxl.lasīt ir klāt, bet nav dokumentēti. Lai uzzinātu vairāk par papildu pakotnēm, izpildiet jar tvf jxl.jar un pārbaudiet informāciju par paketi iegūtajā JAR sarakstā.

Lai palīdzētu jums sākt darbu ar JExcelAPI, es izveidoju vienkāršu JExcelAPIDemo lietojumprogramma, kas demonstrē jaunas izklājlapas izveidošanu, kas saglabāta mapē izeja.xls un pēc tam lasot un izvadot šīs izklājlapas saturu. Pārbaudiet 1. sarakstu.

Uzskaitīšana 1. Vienkāršas izklājlapas rakstīšana un lasīšana

importēt java.io.File; importēt java.io.IOException; importēt jxl.Cell; importēt jxl.Sheet; importēt jxl.Workbook; importēt jxl.read.biff.BiffException; importēt jxl.write.Label; importēt jxl.write.Number; importēt jxl.write.WritableSheet; importēt jxl.write.WritableWorkbook; importēt jxl.write.WriteException; public class JExcelAPIDemo {public static void main (String [] args) met BiffException, IOException, WriteException {WritableWorkbook wworkbook; wworkbook = Workbook.createWorkbook (jauns fails ("output.xls")); WritableSheet wsheet = wworkbook.createSheet ("Pirmā lapa", 0); Label label = new Label (0, 2, "A label record"); wsheet.addCell (etiķete); Skaitļa numurs = jauns numurs (3, 4, 3,1459); wsheet.addCell (numurs); wbookbook.write (); wbookbook.close (); Darbgrāmatas darbgrāmata = Workbook.getWorkbook (jauns fails ("output.xls")); Lapas lapa = darbgrāmata.getSheet (0); Šūnas šūna1 = sheet.getCell (0, 2); System.out.println (cell1.getContents ()); Šūnas šūna2 = sheet.getCell (3, 4); System.out.println (cell2.getContents ()); darbgrāmata.aizvērt (); }}

1. saraksts vispirms izveido rakstāmu darbgrāmatu, atsaucoties uz vienu no Darba burtnīcarūpnīcas metodes. Tad šai darbgrāmatai tiek izveidota rakstāma lapa, un pēc tam kā lapas divu šūnu vērtības tiek pievienota etiķete un numurs. Pēc tam darba grāmata tiek uzrakstīta un aizvērta.

1. saraksts turpinās, iegūstot ar. Saistītu darbgrāmatu izeja.xls un lasot tā saturu. The getSheet () metode nodrošina piekļuvi šīs darbgrāmatas pirmajai lapai. Tā getCell () metodi, lai piekļūtu abām šūnām, kuru saturs tiek izvadīts.

Pieņemot, ka jxl.jar atrodas pašreizējā direktorijā, izpildiet šādu komandu, lai apkopotu 1. sarakstu:

javac -cp jxl.jar JExcelAPIDemo.java

Pieņemot panākumus, izpildiet šādu komandu JExcelAPIDemo:

java -cp jxl.jar ;. JExcelAPIDemo

Jums jāievēro šāda izeja:

Etiķetes ieraksts 3.146

3. attēlā jūs parādīts izeja.xls LibreOffice kontekstā.

3. attēls. Atsevišķā lapa parāda divas šūnu vērtības

Ko tālāk?

Nākamreiz es iepazīstinu ar sarežģītu problēmu komplektu, kas pievēršas Java bibliotēku attīstībai. Šie sarežģītie jautājumi ir vērsti uz pirmkodu un bināro kodu saderību starp klienta programmām un bibliotēkām, kuras šīs programmas izmanto.

lejupielādēt Lejupielādēt avotu Iegūstiet šīs ziņas lietojumprogrammu avota kodu. Izveidoja Jeff Friesen JavaWorld

Lai izveidotu pasta kodu, tika izmantota šāda programmatūra:

  • 64 bitu JDK 7u6
  • JExcelAPI 2.6.12

Ziņas kods tika pārbaudīts uz šādas platformas (-ām):

  • JVM 64 bitu Windows 7 SP1

Šo stāstu "Excel izklājlapu lasīšana un rakstīšana" sākotnēji publicēja JavaWorld.

$config[zx-auto] not found$config[zx-overlay] not found