Aspose.Cells for Java Vs Öppen Källkods Konkurrenter

Översikt

Majoriteten av affärsscenarier kräver sofistikerade rapporter som är rika på innehåll och fokuserade på behoven av specifika beslut eller uppgifter som allmän ledning kommer att använda dem för. De kräver också någon form av dataskörd, analys och integration med databassystem.

En vanlig lösning är att använda kalkylblad för dataskörd, analys och som presentationsverktyg. Lösningen bör kunna skapa fullständigt formaterade Microsoft Excel-filer som kan analysera ett affärsscenarium och, idealiskt sett, utöka dessa grundläggande funktioner för att utforska processerna för att fånga och exportera data till andra väl använda kontorsprogram. Dessa utvecklingar kan innefatta att använda de inbyggda funktionerna och funktionerna i Microsoft Excel.

Vi stöter på olika kalkylbladskomponenter på marknaden idag som verkligen lovar att vara funktionsrika API:er för kalkylbladshantering. Här gör vi en funktionsanalys av Aspose.Cells for Java jämfört med dess öppen källkods konkurrenter JExcelAPI och POI:s HSSF. Låt mig ge en introduktion av de tre först.

Aspose.Cells for Java

Aspose.Cells for Java är en flexibel komponent som gör det möjligt för Java-applikationer att skapa och hantera Excel-kalkylblad utan att Microsoft Excel är installerat på systemet (klient eller server). Till skillnad från liknande produkter från andra leverantörer stöder Aspose.Cells for Java inte bara kalkylbladsgenerering och grundläggande filformateringsfunktioner, utan också ett antal avancerade funktioner. Dessa avancerade funktioner gör det enkelt för utvecklare att manipulera kalkylbladets innehåll, cellformatering och filskyddsalternativ.

Aspose.Cells for Java kan även importera data till kalkylblad från olika datakällor, lägga till vanliga och komplexa matematiska, datum/tid, finansiella, textformler och funktioner, importera bilder (alla huvudsakliga format stöds inklusive BMP, GIF, JPG, PNG, WMF, EMF med mera), skapa kommentarer, skapa ritobjekt och kontroller samt utföra en rad andra uppgifter.

Aspose.Cells for Java stödjer även tillägg, VBA och makron.

Öppna och spara

Förutom att stödja vanliga funktioner som att skapa eller läsa nativa Excel-filer, erbjuder Aspose.Cells for Java också många värdefulla funktioner som att spara och öppna Excel-filer (Excel 97 - Excel 2007) till och från strömmar, importera och exportera data från en ResultSet och array.

Aspose.Cells kan importera diagram, namngivna områden, sidhuvuden och sidfötter med alla attribut som Microsoft Excel tillhandahåller, infoga hyperlänkar och bilder samt importera formler från ett designer-kalkylblad.

Formatering

Kalkylbladets dataformatering är viktig eftersom den kan ändra betydelsen av dina data. Om du planerar att skriva ut ett kalkylblad, skicka det via e-post till klienter eller visa det för din chef, måste du tänka på om det är formaterat på ett användarvänligt sätt. Omsorgsfull användning av färg, skuggning, ramar, teckensnitt, nummerformatering, justering, indrag och orientering kan göra skillnaden mellan en rörig mängd data och ett kalkylblad som är lätt att arbeta med och förstå.

Aspose.Cells for Java ger flexibilitet att dra ramar runt celler och cellintervall på ett enkelt sätt. Dessutom kan API:et tillämpa teckeninställningar (familj och typ, stil, storlek, färg och justering) samt skugga celler med bakgrundsmönster. API:et är tillräckligt effektivt för att kunna formatera hela rader eller kolumner, ställa in justeringar, vika och rotera text i celler.

Aspose.Cells for Java stöder alla typer av nummerformat inklusive allmänt format, siffror i decimala notationer, valutasymboler, procentandelar, vetenskapligt format, datum/tidsvärden och även anpassade nummerformat.

Aspose.Cells låter utvecklare automatiskt anpassa rader och kolumner i en åtgärd, samt konfigurera alla typer av siduppställningsalternativ i ett bekvämt API: topp, vänster, botten, höger, sidhuvud och sidfot marginaler, orientering - stående eller liggande - skalning, papperstorlek, utskriftsområde, upprepande rader och kolumner samt mycket mer.

Unika funktioner

Det finns också ett antal unika funktioner som utvecklare endast hittar i Aspose.Cells for Java, till exempel stöd för många olika format inklusive XLS, XLT, XLSX, CSV, SpreadsheetML, Tab-delimited, TXT, XML och HTML.

API:et låter också utvecklare lägga till en kopia av ett befintligt kalkylblad (med fullt innehåll, bilder och diagram) i en fil, ställa in gradientbakgrund för diagram genom API:et, skapa kommentarer, ställa in språk- och regioninställningar, automatiska filter och sidbrytningar, ställa in komplexa formler, villkorlig formatering, alla typer av skyddsalternativ som introducerats i Microsoft Excel XP eller senare samt manipulera namngivna områden.

Vidare lägger Aspose.Cells till en anpassad diagram-API och en effektiv formelberäkningsmotor.

Prova Aspose.Cells for Java

Aspose.Cells for Java har en lång lista med funktioner. För att få reda på mer om funktionerna och för programmets guide, vänligen kontrollera dokumentationen och online-demo.

Vänligen prova komponenten för att se skillnaden mellan den och dess konkurrenter. Utvärderingsversionen är helt gratis utan tidsbegränsning. Ladda ner utvärderingsversionen gratis.

Andra API:er

JExcelAPI

JExcelAPI är ett Java API som används för att läsa, skriva och modifiera Excel-kalkylblad. Det är ett öppen källkod Java API som tillåter Java-utvecklare att läsa Excel-kalkylblad och generera Excel-kalkylblad dynamiskt. Dessutom innehåller den en mekanism som tillåter Java-applikationer att läsa ett kalkylblad, ändra celler och skriva det nya kalkylbladet.

Vid skrivandets tidpunkt har den ett begränsat antal funktioner. Den stöder: att läsa och skriva native Microsoft Excel-fil (Excel97-2003) endast i XLS-filformat. Den har en begränsad formelberäkning. Den kan manipulera typsnitt, stödja nummer- och datumformatering, modifiera befintliga arbetsblad, lokala inställningar, bevara diagram (men tillåter inte utvecklare att skapa eller manipulera diagram), infoga bilder och så vidare.

Begränsat diagramstöd

JExcelApi har begränsat stöd för diagram: Det stöder inte att skapa och manipulera diagram. När du kopierar ett kalkylblad som innehåller ett diagram skrivs diagrammet ut till det genererade kalkylbladet (så länge arket som innehåller diagrammet även innehåller annan data än bara diagrammet). All bildinformation bevaras vid kopiering av Excel-filer, men när du lägger till en bild i ett kalkylblad stöds endast bilder i PNG-format.

Kan inte kopiera arbetsblad

Det finns ingen API för att kopiera arbetsblad inom eller mellan arbetsböcker direkt. Detta uppdrag kan utföras på ett indirekt sätt, men kräver viss arbete. Till exempel kan du med hjälp av loopar kopiera cell för cell med metoden WritableCell.copyTo(), vilket kommer att producera en djup kopia. Dock kopieras endast formatet på ett grundläggande sätt, så du måste hämta cellformatet och använda kopieringskonstruktören för det och sedan anropar WritableCell.setCellFormat() på den cell du nyss har kopierat. Det är en ganska stor uppgift.

Ingen optimering

En annan begränsning är att JExcelAPI inte utför optimeringar för att minska filstorleken, så det är inte konstigt att se en utdatafil som genererats av komponenten med en enorm storlek i MB.

JExcelAPI har ingen API för att automatiskt anpassa rader eller kolumner. Du kommer behöva skriva kod som skannar cellerna i varje kolumn, beräknar den maximala längden och sedan gör anrop till WritableSheet.setColumnView() och WritableSheet.setRowView() i enlighet med detta.

Saknade funktioner

Det finns också några fler hinder: API:et stöder inte pivottabeller och listrutor. Det har begränsade valideringsalternativ att ställa in på cellerna. Siduppsättningen och utskriftsalternativen stöds inte helt, till exempel återkommande rader och kolumner samt inte alla typer av skyddsalternativ (inklusive lösenordsskydd relaterade blad) stöds. Det stöder inte heller data-sortering, autofilterdata, villkorlig formatering, ritobjekt, kontroller och många andra värdefulla funktioner.

POI-HSSF

HSSF är komponenten i POI som läser och skriver Excel-kalkylblad. Den har en utökad uppsättning funktioner jämfört med JExcelAPI, inklusive läsning och skrivning av native Microsoft Excel-fil (Excel97-2003 - XLSX OOXML-filformat stöds ännu inte), formatera celler (nummerformat, typsnitt, färger, ramar, justeringar etc.), sammanfoga celler, siduppsättningsalternativ, importera bilder, former, namngivna områden, skapa kommentarer, sidhuvuden och sidfötter, hyperlänkar, auto-anpassning av rader och kolumner osv.

Begränsat diagramstöd

Det finns några kända begränsningar för POI-HSSF API:et. Till exempel kan du för närvarande inte skapa diagram. Du kan dock skapa ett diagram i Excel, modifiera diagrammets datavärden med HSSF och skriva ut ett nytt kalkylblad. En annan sak är pivottabellsstöd, det är inte möjligt att generera pivottabeller.

Formelberäkning

Även om POI:s org.apache.poi.hssf.usermodel stöder formler saknar den en kraftfull formelberäkningsmotor. Den stöder formler som innehåller cellreferenser, sträng- och flyttaliteraler, relativa eller absoluta referenser, aritmetiska och logiska operatorer men den stöder inte matrisformler, unära operatorer och 3D-referenser.

Saknade funktioner

HSSF API:et stöder inte heller pivottabeller. Det har begränsade valideringsalternativ att ställa in på cellerna. Det stöder heller inte funktioner som data-sortering och autofiltrering av data.

Jämförelse av funktioner

Följande tabell försöker ge en översikt över funktionerna för hur Aspose.Cells for Java matchar de öppna källkodskomponenter (nämnda ovan) även om det inte utmanar att täcka alla funktioner som tillhandahålls av de produkter som är involverade. Detta är bara en översikt som tas vid en viss tidpunkt och det är fullt möjligt att de saknade funktionerna kan stödjas när du läser dokumentet.

Funktion JExcelAPI POI’s HSSF Aspose.Cells for Java
Filformat
Läs och skriv filformat (XLS, XLT, XLSX, CSV, SpreadsheetML, Tab Separated, TXT, XML och HTML) Delvis stödd Delvis stödd Stödd
Öppna fil och spara till en ström Stödd
Konvertera Excel-fil till PDF-dokument Stödd
Lösenordsskyddade filer Stödd Stödd
Manipulera innehållet i kalkylblad
Modifiera dokumentegenskaper för Excel-filer Stödd
Exportera arbetsbladsdata till en matris Stöds
Importera data från en ResultSet Stöds
Importera data från en matris, samling Stöds
Lägg till en kopia av befintligt arbetsblad (alla innehåll inklusive bilder och diagram) Delvis stöds Delvis stöds Stöds
Importera bilder Stöds
Importera diagram Stöds
Ange gradientbakgrund för diagram med hjälp av API Stöds
Skydda arbetsblad, inklusive innehåll, objekt och scenarier Delvis stöds Stöds Stöds
Skapa auto-filter med hjälp av API Stöds
Sidinställningsfunktioner (topp, vänster, botten, höger, sidhuvud och sidfotmarginaler, orientering - porträtt eller landskap, skalning, pappersstorlek, utskriftsområde, upprepande rader och kolumner) Delvis stöds Stöds Stöds
Horisontella och vertikala sidbrytningar genom API Stöds Stöds Stöds
Kopiera och flytta arbetsblad inom och mellan arbetsböcker Stöds Stöds
Infoga och ta bort rader och kolumner Stöds Stöds
Auto-justera rader och kolumner Stöds Stöds
Kopiera rader och kolumner Stöds
Data sorting Stöds
Spåra föregångare och dependenter Stöds
Auto-filtering Stöds
Data Validering (alla typer) Delvis stöds Delvis stöds Stöds
Importera formler från designerkalkylblad Delvis stöds Delvis stöds Stöds
Ange komplexa formler genom API Stöds
Villkorlig formatering Stöds Stöds
Aktivera ark och göra en aktiv cell i arbetsbok Stöds Stöds Stöds
Avancerade funktioner
Smarta markörer Stöds
Skapa standarddiagram (kolumn, stapel, linje, paj, spridning, område, munk, radar, yta 3D, bubbla, aktier, cylinder, kon, pyramid etc.) Stöds
Anpassat diagram-API Stöds
Inställningar för dokumentegenskaper Stöds
Avancerade Excel XP-skyddsalternativ Stöds
Tillägg, VBA, makron Stöds
Manipulera namngivna omfång Stöttas Stöttas Stöttas
Pivot-tabeller Stöttas
Skapa vanliga ritobjekt, former och kontroller Stöttas Stöttas
Infoga kontroller i diagram Stöttas
Formelberäkningsmotor Stöttas
Hitta API Stöttas Stöttas Stöttas