Aspose.Cells for Java jämfört med konkurrenter med öppen källkod

Översikt

De flesta affärsscenarier kräver sofistikerade rapporter som är rika på innehåll och fokuserade på behoven för de specifika beslut eller uppgifter som den allmänna ledningen kommer att använda dem för. De kräver också vissa metoder för datainsamling, analys och gränssnitt med databassystem.

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

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

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 Microsoft Excel 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 generering av kalkylblad och grundläggande filformateringsfunktioner, utan också ett antal avancerade funktioner. Dessa avancerade funktioner gör det enkelt för utvecklare att manipulera kalkylbladsinnehåll, cellformatering och filskyddsalternativ.

Aspose.Cells for Java kan också 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 större format stöds inklusive BMP, GIF, JPG43, 4076, 616, 4016, W1MF43, 4816, 516, 5000 och mer), skapa kommentarer, skapa ritobjekt och kontroller och utföra en rad andra uppgifter.

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

Öppna och spara

Förutom att stödja vanliga funktioner som att skapa eller läsa inbyggda 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 intervall, sidhuvuden och sidfötter med alla attribut som Microsoft Excel tillhandahåller, infoga hyperlänkar och bilder och importera formler från ett designerkalkylblad.

Formatering

Kalkylbladsdataformatering är viktigt eftersom det kan ändra innebörden av dina data. Om du planerar att skriva ut ett kalkylblad, mejla det till kunder eller visa det för din chef måste du fundera på om det är formaterat på ett tittarvänligt sätt. Noggrann användning av färg, skuggning, ramar, teckensnitt, nummerformatering, justering, indrag och orientering kan göra skillnaden mellan en rörig dataklot och ett kalkylblad som är lätt att arbeta med och förstå.

Aspose.Cells for Java ger flexibiliteten att enkelt rita gränser runt celler och cellområden. Dessutom kan AIP tillämpa teckensnittsinställningar (familj och typ, stil, storlek, färg och justering) och skugga celler med bakgrundsmönster. API är tillräckligt effektiv för att du kan formatera en hel rad eller kolumn, ställa in justeringar, radbryta och rotera texten i celler.

Aspose.Cells for Java stöder alla typer av talformat inklusive allmänt format, siffror i decimalnoteringar, valutasymboler, procentsatser, vetenskapligt format, datum/tidsvärden och till och med anpassade talformat.

Aspose.Cells tillåter utvecklare att automatiskt anpassa rader och kolumner i en åtgärd, samt konfigurera alla typer av sidinställningar i en bekväm API: topp, vänster, botten, höger, sidhuvud och sidfotsmarginaler, orientering - stående eller liggande - skalning, pappersstorlek, utskriftsområde, upprepade rader och kolumner och många fler.

Unika funktioner

Det finns också ett antal unika funktioner som utvecklare bara hittar i Aspose.Cells for Java, till exempel stöd för ett brett utbud av format inklusive XLS, XLT, XLSX, CSV, CSV, 0761406, 81406 de XML, 81406, 81406 och XML, CSV, CSV, CSV, CSV, 071416 de 071406 de 861406 de 461406 de

API tillåter också utvecklare att lägga till en kopia av ett befintligt kalkylblad (med fullständigt innehåll, bilder och diagram) till en fil, ställa in gradientbakgrund för diagram genom API, skapa kommentarer, ställa in lokal- och regioninställningar, autofilter och sidbrytningar , ställ in komplexa formler, villkorlig formatering, alla typer av skyddsalternativ som introducerats i Microsoft Excel XP eller högre, och manipulera namngivna intervall.

Vidare lägger Aspose.Cells till ett anpassat diagram API och en effektiv formelberäkningsmotor.

Försök med Aspose.Cells for Java

Aspose.Cells for Java har en enorm lista med funktioner. Läs mer om funktionerna och programmeringsguidendokumentationen ochonline demos.

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 en Java API som används för att läsa, skriva och ändra Excel-kalkylblad. Det är en öppen källkod Java API som gör att Java-utvecklare kan läsa Excel-kalkylblad och skapa Excel-kalkylblad dynamiskt. Dessutom innehåller den en mekanism som gör att Java-applikationer kan läsa ett kalkylblad, ändra celler och skriva det nya kalkylbladet.

I skrivande stund har den en begränsad uppsättning funktioner. Den stöder: läsning och skrivning av den ursprungliga Excel-filen Microsoft (Excel97-2003) endast i filformatet XLS. Den har ett begränsat stöd för formelberäkning. Det kan manipulera teckensnitt, stödja nummer- och datumformatering, ändra befintliga kalkylblad, lokalinstä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 kalkylarket (så länge som bladet som innehåller diagrammet innehåller andra data samt 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 i eller mellan arbetsböcker direkt. Denna uppgift kan utföras på ett indirekt sätt, men kräver en del arbete. Använd till exempel loopar och kopiera cell för cell med metoden WritableCell.copyTo() som kommer att producera en djup kopia. Formatet är dock endast ytligt kopierat, så du måste skaffa cellformatet och använda kopieringskonstruktorn för det, och sedan anropa WritableCell.setCellFormat() på cellen du just har kopierat. Det är ett ganska stort jobb.

Ingen optimering

En annan begränsning är att JExcelAPI inte utför optimeringar för att minska filstorleken, vi borde inte bli förvånade över att se en utdatafil som genereras av komponenten med en enorm storlek i MB.

JExcelAPI har ingen API för automatisk anpassning av rader eller kolumner. Du måste skriva kod som skannar cellerna i varje kolumn, beräknar den maximala längden och sedan göra anrop till WritableSheet.setColumnView() och Writable Sheet.setRowView() i enlighet med detta.

Saknade funktioner

Det finns också några fler hinder: API stöder inte pivottabeller och rullgardinslistor. Den har begränsade valideringsalternativ att ställa in på cellerna. Alternativen för sidinställningar och utskrift stöds inte helt, till exempel upprepade rader och kolumner och inte alla typer av skyddsalternativ (inklusive lösenordsskyddsrelaterade ark) stöds. Det stöder inte heller datasortering, automatisk filtrering av data, villkorlig formatering, ritobjekt, kontroller och många fler 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 att läsa och skriva inbyggd Microsoft Excel-fil (Excel97-2003 - XLSX OOXML-filformat stöds inte ännu), formatering av celler (nummerformat, teckensnitt, färger, ramar, justeringar etc.) , slå samman celler, alternativ för sidinställningar, import av bilder, former, namngivna intervall, skapa kommentarer, sidhuvuden och sidfötter, hyperlänkar, automatisk anpassning av rader och kolumner etc.

Begränsat diagramstöd

Det finns några kända begränsningar för POI-HSSF API. Till exempel kan du för närvarande inte skapa sjökort. Du kan dock skapa ett diagram i Excel, ändra diagramdatavärdena med HSSF och skriva ut ett nytt kalkylblad. En annan är pivottabellstöd, generering av pivottabeller är inte möjligt.

Formelberäkning

Även om POI:s org.apache.poi.hssf.usermodel stöder formler men den saknar en rik formelberäkningsmotor. Det stöder formler som innehåller cellreferenssträngar, heltal och flyttalsliteraler, relativa eller absoluta referenser, aritmetiska och logiska operatorer men det stöder inte matrisformler, unära operatorer och 3D-referenser.

Saknade funktioner

HSSF API stöder inte heller pivottabeller. Den har begränsade datavalideringsalternativ att ställa in på cellerna. Det stöder inte heller funktioner som datasortering och automatisk filtrering av data.

Funktionsjämförelse

Följande tabell försöker ge en funktionsöversikt om hur Aspose.Cells for Java matchar komponenterna med öppen källkod (som nämns ovan) även om det inte är en utmaning att täcka alla funktioner som tillhandahålls av de inblandade produkterna. Detta är bara en disposition som tas vid någon specifik tidpunkt och det är mycket möjligt att de saknade funktionerna kan stödjas när du ska läsa upp dokumentet.

Funktion JExcelAPI POI:s HSSF Aspose.Cells for Java
Filformat
Läs- och skrivfilformat (XLS, XLT, XLSX, CSV, SpreadsheetML, Tab Delimited, TXT, XML och HTML) Stöds delvis Stöds delvis Stöds
Öppna filen och spara i en stream Stöds
Konvertera Excel-fil till PDF-dokument Stöds
Lösenordsskyddade filer Stöds Stöds
Manipulera kalkylbladsinnehåll
Ändra dokumentegenskaperna för Excel-filer Stöds
Exportera kalkylbladsdata till en array Stöds
Importera data från en ResultSet Stöds
Importera data från en array, samling Stöds
Lägg till en kopia av befintligt kalkylblad (allt innehåll inklusive bilder och diagram) Stöds delvis Stöds delvis Stöds
Importera bilder Stöds
Importera diagram Stöds
Ställ in gradientbakgrund för diagram med API Stöds
Skydda kalkylblad, inklusive innehåll, objekt och scenarier Stöds delvis Stöds Stöds
Skapa automatiska filter med API Stöds
Sidinställningsfunktioner (överst, vänster, botten, höger, sidhuvud och sidfotsmarginaler, orientering - stående eller liggande, skalning, pappersstorlek, utskriftsområde, upprepade rader och kolumner) Stöds delvis Stöds Stöds
Horisontella och vertikala sidbrytningar genom API Stöds Stöds Stöds
Kopiera och flytta kalkylblad inom och mellan arbetsböcker Stöds Stöds
Infoga och ta bort rader och kolumner Stöds Stöds
Anpassa rader och kolumner automatiskt Stöds Stöds
Kopiera rader och kolumner Stöds
Datasortering Stöds
Spåra prejudikat och anhöriga Stöds
Automatisk filtrering Stöds
Datavalidering (alla typer) Stöds delvis Stöds delvis Stöds
Importera formler från designerkalkylblad Stöds delvis Stöds delvis Stöds
Ställ in komplexa formler genom API Stöds
Villkorlig formatering Stöds Stöds
Aktivera ark och göra en aktiv Cell i arbetsboken. Stöds Stöds Stöds

|Avancerade funktioner|||| | Smarta markörer||| Stöds| | Skapa standarddiagram (kolumn, stapel, linje, paj, scatter, area, munk, radar, yt 3D, bubbla, lager, 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 intervall| Stöds| Stöds| Stöds| | Pivottabeller||| Stöds| | Skapa vanliga ritobjekt, former och kontroller|| Stöds| Stöds| |Infoga kontroller i diagram||| Stöds| | Formelberäkningsmotor||| Stöds| | Hitta API| Stöds| Stöds| Stöds|